條件判斷式----利用 if .... then ----多重
在同一個數據的判斷中,如果該數據需要進行多種不同的判斷時,應該怎么作?舉例來說,上面的 sh06.sh 腳本中,我們只要進行一次 $yn 的判斷就好 (僅進行一次 if ),不想要作多次 if 的判斷。 此時你就得要知道底下的語法了:
# 一個條件判斷,分成功進行與失敗進行 (else)
if [ 條件判斷式 ]; then
當條件判斷式成立時,可以進行的指令工作內容;
else
當條件判斷式不成立時,可以進行的指令工作內容;
fi
如果考慮更復雜的情況,則可以使用這個語法:
# 多個條件判斷 (if ... elif ... elif ... else) 分多種不同情況執行
if [ 條件判斷式一 ]; then
當條件判斷式一成立時,可以進行的指令工作內容;
elif [ 條件判斷式二 ]; then
當條件判斷式二成立時,可以進行的指令工作內容;
else
當條件判斷式一與二均不成立時,可以進行的指令工作內容;
fi
你得要注意的是, elif 也是個判斷式,因此出現 elif 后面都要接 then 來處理!但是 else 已經是最后的沒有成立的結果了, 所以 else 后面並沒有 then 喔!
源程序如下:
1 #!/bin/bash 2 #.......... 3 echo "test $1 start or stop" 4 #test services 5 var_ftp=`/usr/bin/pgrep "$1"` 6 if [ "$var_ftp"!="" ]; 7 then 8 echo "$1 service is running!" 9 else 10 echo "$1 service is not running!" 11 fi
用vi編輯器創建shell源程序:
回車(Enter)用vi編輯器編寫shell源程序:
執行結果如下: