1. 程式人生 > >Shell腳本(2)-if語句

Shell腳本(2)-if語句

if語句

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語句
if 條件測試操作
then
命令序列1
else
命令序列2
fi
3)多分支if語句
if 條件測試操作
then
命令序列1
elif 條件測試操作2
then
命令序列2
。。。
else
命令序列
fi
4、應用舉例
1)新建一個腳本,用於測試成績
技術分享圖片技術分享圖片
2)腳本
技術分享圖片
3)測試腳本
技術分享圖片
4)腳本解釋
第一個條件測試操作:當輸入的成績大於等於90、小於等於100時,輸出“成績優秀”;read -p用於給“GRADE”變量賦值。

Shell腳本(2)-if語句