shell 基礎

【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
相關文章
相關標籤/搜索