學習目標
Shell的條件結構語句
Shell程式中的條件語句主要有if語句與case語句。
12-7-1 if語句
語法:
if 表示式1 then 操作 elif表示式2 then 操作 elif表示式3 then 操作 else 操作 fi
Linux裡的if的結束標誌是將if反過來寫成fi;而elif其實是else if的縮寫。其中,elif理論上可以有無限多個。
例項:求1~10被2除餘數為1的整數。
#! /bin/bash for((j=0;j<=10;j++)) do if(($j%2==1)) then echo "$j" fi done
12-7-2 case語句
語法:
case 表示式 in 值1|值2) 操作;; 值3|值4) 操作;; 值5|值6) 操作;; *) 操作;; esac
case的作用就是當字串與某個值相同是就執行那個值後面的操作。如果同一個操作對於多個值,則使用"|"將各個值分開。在case的每一個操作的最後面都有兩個";;"分號是必需的。
例項:Linux是一個多使用者作業系統,編寫一程式根據不同的使用者登入輸出不同的反饋結果。
#! /bin/bash case $USER in ljq) echo "You are ljq!";; ubuntu) echo "You are ubuntu"; //注意這裡只有一個分號 echo "Welcome !";; //這裡才是兩個分號 root) echo "You are root!";echo "Welcome !";; //將兩命令寫在一行,用一個分號作為分隔符 *) echo "Who are you?$USER?";; esac