1:每个脚本开头均需配置,指向bash的链接
#!/bin/bash
2:FUNCNAME[0]表示当前运行的方法名称。
3:awk
在文件或字符串中基于指定规则来分解抽取信息,也可以基于指定的规则来输出数据。
例如:
awk -F: '{print $2}'
表示:以':'分割,获取打印出的第2个信息。
如果后面不带-F,则默认是以空格分隔。
4:exit $?
5:字符串比较
-e file 文件 file 已经存在
-f file 文件 file 是普通文件
-s file 文件 file 大小不为零
-d file 文件 file 是一个目录
-r file 文件 file 对当前用户可以读取
-w file 文件 file 对当前用户可以写入
-x file 文件 file 对当前用户可以执行
-g file 文件 file 的 GID 标志被设置
-u file 文件 file 的 UID 标志被设置
-O file 文件 file 是属于当前用户的
-G file 文件 file 的组 ID 和当前用户相同
6:两个命令直接使用“ && ”表示并且,即执行前面的命令,同时执行后面的命令
7:定义function时。
1) 局部变量定义:local
2) 暂停当前进程多少豪秒:sleep 数字
8:shell调用java程序(见如下)
export CLASSPATH="${javahome}/lib/tools.jar:${javahome}/jre/lib:/usr/local/bin/bin/memcached.jar:"
local test=$(java com.jzh.operate.OperateMemcached "${memcached_ip}":"${memcached_port}" memcachedtest memcachedtest | awk '{print $1}')
9:Memcached启动时指定IP配置
INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或“所有地址”、“任意地址”。 一般来说,在各个系统中均定义成为0值。
10:Linux系统环境变量在/etc/.profile文件中
11:BASH shell脚步在读取(properties)配置文件时,最好先进行dos2unix命令,将配置文件中的换行去除。
12:su 命令详解
使用权限:所有使用者
使用方式:su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
说明:变更为其他使用者的身份,除 root 外,需要键入该使用者的密码
参数:
-f 或 --fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
-m -p 或 --preserve-environment 执行 su 时不改变环境变数
-c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者
-s shell 或 --shell=shell 指定要执行的 shell (bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell
--help 显示说明文件
--version 显示版本资讯
- -l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root
13:tee命令
tee能将输入数据流同时双向输出到屏幕和文件
USER 欲变更的使用者帐号
ARG 传入新的 shell 参数
14:typeset
typeset用于设置变量属性,如大小写,宽度,左右对齐等都可以用typeset来控制, 当用typeset改变一个变量的属性时,这种改变是永久的
15:touch
更新文件的访问和修改时间。
16:1>/dev/null 2>&1
shell中可能经常能看到:>/dev/null 2>&1
命令的结果可以通过%>的形式来定义输出
/dev/null 代表空设备文件
> 代表重定向到哪里,例如:echo "123" > /home/123.txt
1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"
2 表示stderr标准错误
& 表示等同于的意思,2>&1,表示2的输出重定向等同于1
那么本文标题的语句:
1>/dev/null 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。
2>&1 接着,标准错误输出重定向等同于 标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件
17:if的逻辑表达式
逻辑非 ! 条件表达式的相反
if [ ! 表达式 ]
if [ ! -d $num ] 如果不存在目录$num
逻辑与 –a 条件表达式的并列
if [ 表达式1 –a 表达式2 ]
逻辑或 -o 条件表达式的或
if [ 表达式1 –o 表达式2 ]
18:如何执行多重用户下命令,且得到返回值
如:su - oracle -c "echo \"startup;\" | sqlplus \"/as sysdba\"" | tee /tmp/start_instance.log
即:当前用户为root,切换至oracle用户下,同时执行sqlplus / as sysdba 中的startup命令。
19:shell脚本中包含另一个脚本文件的使用,见如下:
. 脚本文件名
20:" ' `含义
"":表示字符串。里面如果存在命令也不会执行
'' :同上
``:表示字符串。里面如果存在命令也会执行,且会返回执行结果。
21:在文件夹中搜索文件中包含的字符串
grep "字符串" * -R
22: usage使用
function usage
{
echo "Usage:"
echo "db_instance.sh [create|delete|start|stop]"
echo " create create the instance"
echo " delete delete the instance"
echo " start start the instance"
echo " stop stop the instance"
}
case $1 in
create)
create_instance
exit $?
;;
delete)
delete_instance
exit $?
;;
start)
start_instance
exitcode=$?
log INFO db_instance.sh "Start the instance,exit code:${exitcode}"
exit ${exitcode}
;;
stop)
stop_instance
exitcode=$?
log INFO db_instance.sh "Stop the instance,exit code:${exitcode}"
exit ${exitcode}
;;
help)
usage
exit 0
;;
esac
usage
23:命令操作文件(sed、ed)
sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介绍的是Gnu版本的Sed 3.02。
24:指定文件行数插入内容样例
line_no=`grep -n "^[ ]*include[ ]*\"types.cf\"" /etc/main.cf | awk -F: '{print $1}'`
((line_no+=1))
expr_str="include \"OracleTypes.cf\""
cat << HERE | ed /etc/main.cf 1>/dev/null 2>&1
$line_no
i
$expr_str
.
w
q
HERE
25:dos2unix
dos2unix filename : 把dos文件转换成unix文件,可以避免在unix下执行文件时空行报错。
分享到:
相关推荐
bash_shell笔记_1_脚本基础知识
bash脚本基础实例,简单五个实例,完整学会bash
Linux基础知识(7_10)-Bash
linux bash 之awk,awk的详尽用法
Bash 脚本编程基础,shell 脚本学习
BashScript基础知识
比较基础的关于BASH介绍,很不错的一部入门教程,打印版。
bash官方手册/Bash Reference Manual
Bash脚本编程基础共58页.pdf.zip
BASH基础的语法,和用法。讲解的简单易懂。可以快速入门。
BASH官方文档,BASH官方文档,BASH官方文档
bash 不错的bash编程资料 输入/出重定向 Bash变量 Shell流控制 绝对是好用的基础编程资料
bash的基本语法,适合入门人员学习,里面包括了变量的定义各种符合等等基础知识
Bash脚本编程基础,非常适合新手初学。内容详细,例子丰富
linux 服务器GNU Bash小于版本4.3有操作系统命令注入漏洞,需要对bash升级,下载解压 #tar zxvf bash-4.4.tar.gz #cd bash-4.4 #./configure (如果centos7编译失败,请先安装#yum install gcc) #make #make ...
bash 入门经典 不可不看哦 bash 入门经典 不可不看哦 bash 入门经典 不可不看哦
RHCERHCE bash RHCE bash RHCE bash RHCE bash RHCE bash RHCE bash RHCE bash bash
官方的bash手册 讲述bash脚本语法规范 和linux相关配置 很好的资料
bash shell 的基础语法介绍。 1.bash的环境配置和配置文件介绍 2.bash的通配符,参数,变量,表达式,函数,正则表达式
linux系统修复之缺失bash