【if】nginx
語法格式express
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)指定的設備爲終端時爲真spa
-ne —比較兩個參數是否不相等
-lt —參數1是否小於參數2
-le —參數1是否小於等於參數2
-gt —參數1是否大於參數2
-ge —參數1是否大於等於參數2code
#示例代碼:判斷文件是否存在
#注意中括號裏面的空格,不可缺乏 if [ -f 'a.log' ];then
echo './a.log is exists'
else
echo './a.log is not exists'
fi
【switch】blog
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】it
# 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】io
while expression do ... done
while ((i<10)); do echo $i let i++ done