【if】
语法格式
if ....; then
....
elif ....; then
....
else
....
fi
-f file 判断是否是一个文件
-n $var 判断$var变量是否有值
-r file 用户可读为真
-w file 用户可写为真
-x file 用户可执行为真
-f file 文件为正规文件为真
-d file 文件为目录为真
-c file 文件为字符特殊文件为真
-b file 文件为块特殊文件为真
-s file 文件大小非0时为真
-t file 当文件描述符(默认为1)指定的设备为终端时为真
-ne —比较两个参数是否不相等
-lt —参数1是否小于参数2
-le —参数1是否小于等于参数2
-gt —参数1是否大于参数2
-ge —参数1是否大于等于参数2
#示例代码:判断文件是否存在
#注意中括号里面的空格,不可缺少
if [ -f 'a.log' ];then
echo './a.log is exists'
else
echo './a.log is not exists'
fi
【switch】
case expression in pattern1 ) statements ;; pattern2 ) statements ;; ... esac
#实力代码:nginx初始化脚本 #!/bin/sh BIN=/path/to/nginx/sbin/nginx; PID=/path/to/nginx/logs/nginx.pid; CNF=/path/to/nginx/conf/nginx.conf; ulimit -SHn 10240 case $1 in start) $BIN -c $CNF exit $?; ;; stop) kill $(cat $PID); exit $?; ;; reload) kill -HUP $(cat $PID); exit $?; ;; rotate) kill -USR1 $(cat $PID); exit $?; ;; port) echo "Your port is 80"; ;; *) echo "Usage: $0 {start|stop|reload|roate|port}"; exit 1; esac
【for】
# for in for var in ....; do .... done # for for((赋值;条件;运算语句))
#示例代码:for for ((i=1;i<10;i++)); do echo $i done #示例代码:for in (1) for var in A B C ; do echo "var is $var" done
#示例代码:for in (2) for file in `ls`; do echo $file done
【while】
while expression do ... done
while ((i<10)); do echo $i let i++ done