標籤:
條件判斷式----利用 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 else10 echo "$1 service is not running!"11 fi
用vi編輯器建立shell來源程式:
斷行符號(Enter)用vi編輯器編寫shell來源程式:
執行結果如下:
shell編程 條件判斷式----利用 if .... then ----多重