天天看點

Shell腳本(2)-if語句

if語句

1、什麼是條件測試操作?

要使Shell腳本具有一定的“智能化”,面臨的問題就是區分不同情況下以确定執行何種操作。Shell環境中根據指令執行後的傳回狀态值($?)來判斷是否執行成功,當傳回值為0時,表示執行成功,否則表示失敗或異常。通過條件測試操作的工具-test指令,可以對特定條件進行測試。

2、條件測試分類

1)檔案測試:根據給定的路徑,判斷是否為檔案或目錄。

常見選項:

■ -d:測試是否為目錄

■ -f:測試是否為檔案

■ -e:測試檔案或目錄是否存在

■ -r:測試目前使用者是否有讀取權限

■ -w:測試目前使用者是否有寫入權限

■ -x:測試目前使用者是否有執行權限

Shell腳本(2)-if語句

2)整數值比較:整數值比較就是根據兩個給定的整數值,判斷第一個數與第二個數的大小關系

常見選項:

■ -eq:等于

■ -lt:小于

■ -gt:大于

■ -ne:不等于

■ -ge:大于等于

■ -le:小于等于

Shell腳本(2)-if語句

3)字元串比較:字元創比較通常用于檢查使用者輸入、系統環境是否滿足條件等。在通過互動式操作的Shell環境中,也可以用來判斷使用者輸入的位置參數是否符合要求

常用操作:

■ =:第一個字元與第二個相同

■ !=:第一個與第二個字元不相同

■ -z:檢查字元創是否為空

Shell腳本(2)-if語句

4)邏輯測試:判斷兩個條件或多個條件之間的依賴關系

■ &&:表示“而且”,隻有前後兩個條件都成立時,傳回值為0

■ ||:表示“或者”,隻要兩個條件中有一個成立,傳回值即為0

■ !:表示“否”

3、if語句

1)單分支if語句

if 條件測試操作

then

指令序列

fi

2)雙分支if語句

指令序列1

else

指令序列2

3)多分支if語句

elif 條件測試操作2

。。。

4、應用舉例

1)建立一個腳本,用于測試成績

Shell腳本(2)-if語句

2)腳本

Shell腳本(2)-if語句

3)測試腳本

Shell腳本(2)-if語句

4)腳本解釋

第一個條件測試操作:當輸入的成績大于等于90、小于等于100時,輸出“成績優秀”;read -p用于給“GRADE”變量指派。

繼續閱讀