if語句
1、什麼是條件測試操作?
要使Shell腳本具有一定的“智能化”,面臨的問題就是區分不同情況下以确定執行何種操作。Shell環境中根據指令執行後的傳回狀态值($?)來判斷是否執行成功,當傳回值為0時,表示執行成功,否則表示失敗或異常。通過條件測試操作的工具-test指令,可以對特定條件進行測試。
2、條件測試分類
1)檔案測試:根據給定的路徑,判斷是否為檔案或目錄。
常見選項:
■ -d:測試是否為目錄
■ -f:測試是否為檔案
■ -e:測試檔案或目錄是否存在
■ -r:測試目前使用者是否有讀取權限
■ -w:測試目前使用者是否有寫入權限
■ -x:測試目前使用者是否有執行權限

2)整數值比較:整數值比較就是根據兩個給定的整數值,判斷第一個數與第二個數的大小關系
常見選項:
■ -eq:等于
■ -lt:小于
■ -gt:大于
■ -ne:不等于
■ -ge:大于等于
■ -le:小于等于
3)字元串比較:字元創比較通常用于檢查使用者輸入、系統環境是否滿足條件等。在通過互動式操作的Shell環境中,也可以用來判斷使用者輸入的位置參數是否符合要求
常用操作:
■ =:第一個字元與第二個相同
■ !=:第一個與第二個字元不相同
■ -z:檢查字元創是否為空
4)邏輯測試:判斷兩個條件或多個條件之間的依賴關系
■ &&:表示“而且”,隻有前後兩個條件都成立時,傳回值為0
■ ||:表示“或者”,隻要兩個條件中有一個成立,傳回值即為0
■ !:表示“否”
3、if語句
1)單分支if語句
if 條件測試操作
then
指令序列
fi
2)雙分支if語句
指令序列1
else
指令序列2
3)多分支if語句
elif 條件測試操作2
。。。
4、應用舉例
1)建立一個腳本,用于測試成績
2)腳本
3)測試腳本
4)腳本解釋
第一個條件測試操作:當輸入的成績大于等于90、小于等于100時,輸出“成績優秀”;read -p用于給“GRADE”變量指派。