用于运维中自动化操作。一般操作人少可以逻辑写简单点。
shell变量
shell是弱语言,所以变量直接赋值。A=aaa
默认是字符串类型。
想要其它类型则要用declare
声明。
-
给变量设置类型属性
+
取消变量的类型属性
-a
声明数组
-i
声明Integer类型数据
-p
查看变量类型
-r
设为只读类型
-x
设为环境变量'export'相当于'declare -x'
aa = 11
bb = 22
declare -i cc = $aa + $bb
shell运算符
cc = $(expr $aa + $bb)
cc = $(( $aa + $bb))
cc = $[ $aa + $bb]
if…else…判断
if 条件判断
then 执行语句
else 执行语句
fi
if [[ $aa = "" ]]; then
echo "this is true"
else
echo "this is false"
fi
if里判断条件
-z
String长度为0则真
-x
用户可执行为真
具体请查看
for 循环
for 变量名 in 要遍历的列表
do
循环语句
done #结束循环
for i in $List
do
echo i
done
pushd和popd
pushd 用于把目录 加入到栈中,并切换到该目录。(相当于进入到执行目录中)
popd 用于删除目录 栈中的记录
#启动tomcat
pushd . >/dev/null 2>&1
cd tomcat/bin
nohup ./start.sh > /dev/null 2>&1 &
sleep 1
popd >/dev/null 2>&1
> /dev/null 2>&1 &
> /dev/null
标准信息重定向到空文件(表示不输出)
2>&1
错误输出重定向到标准输出
pgrep
-u
通过程序名字查询pid
-l
列出进程名字和pid
-n
进程终止 pid