條件測試
1、文件測試
2、整數值比較
3、字符串與邏輯測試
·
if語句:
單分支的if語句
雙分支的if語句
多分枝的if語句
·
1、文件測試
文件測試是指的是根據給定的路徑名稱,判斷對應的是文件還是目錄,或者判斷文件是否可讀、可寫、可執行等。
基本格式
test 條件表達式 或者 [ 條件表達式 ]
文件的常見操作選項如下:
選項 | 描述 |
---|---|
-d | 測試是否爲目錄(Directory) |
-e | 測試目錄或文件是否存在(Exist) |
-f | 測試是否爲文件(File) |
-r | 測試當前用戶是否有權限讀取(Read) |
-w | 測試當前用戶是否有權限寫入(Write) |
-x | 測試是否設置有可執行(Excute)權限 |
執行以上操作之後,可以通過“$?”可以獲得測試命令的返回狀態值,從而判斷是否成立
實際操作
格式一
test -d /etc/sysconfig (測試/etc裏的sysconfig目錄是否存在)
echo $?(返回值爲0,則條件成立)
格式二
[ -d /etc/sysconfig ]
echo$(若條件不成立,測試值將不爲0(通常爲1))
整數值比較
格式格式:[ 整數1 操作符 整數2 ]
常用操作選項
1、-eq:等於(Equal)
2、-ne:不等於(Not Equal)
3、-gt:大於(Greater Than)
4、-lt:小於(Lesser Than)
5、-le:小於或等於(Lesser or Equal)
6、-ge:大於或等於(Greater or Equal)
字符串比較
格式1:[ 字符串1 = 字符串2 ]
[ 字符串1 ! = 字符串2 ]
格式2:[ -z 字符串]
常用操作選項
1、=:第一個字符串與第二個字符串相同
2、!=:第一個字符串與第二個字符串不相同,其或中“!”符號取反
3、-z:檢查字符串是否爲空,對於未定義或賦予空值的變量將視爲空串
邏輯測試
格式1:[ 表達式1 ] 操作符 [ 表達式2 ] ...
格式2:命令1 操作符 命令2 ...
常用操作選項
1、-a或&&:邏輯與,“而且”的意思
2、-o或||:邏輯或,“或者”的意思
3、!:邏輯否,表示“不”的意思
if語句
單分支結構
if 條件測試操作
then
命令序列
fi
雙分支結構
if 條件測試操作
then
命令序列1
then
命令序列2
fi
多分枝結構
if 條件測試操作
then
命令序列1
elif 條件性測試操作2
then
命令序列2
else
命令序列3
fi