*注意: 測試表示式中的變數需要使用雙引號「」,否者邏輯會出錯。
語法1:
test 《測試表示式》
[ 《測試表示式》 ]
[[ 《測試表示式》 ]]
((《測試表示式》))
((num=num+1))
(0) 邏輯操作符;
(1) 整數測試;
(2) 字串測試;
(3) 檔案測試
0、邏輯操作符:
[ ] 和 test 中使用: -a -o !
[[ ]] 和 (()) 中使用: && || !
1、整數測試:
a -gt b: 大於
a -ge b: 大於等於
a -eq b: 等於
a -lt b: 小於
a -le b: 小於等於
a -ne b: 不等於 not equal to
2、字串測試(注意符號兩端的空格):
a == b或a = b:等值比較
a != b: 不等於
-z a: 判斷a是否為空;空則為真,不空則假;
-n a:判斷a是否不空;不空則為真,空則為假;
3、檔案測試:
-e $file: 是否存在;存在則為真;
-f $file: 檔案是否存在,且為普通檔案;
-d $file: 是否存在且為目錄;
-h $file: 是否存在且為符號鏈結檔案;
-l $file:同上
-b $file: 是否存在且為塊裝置檔案;
-c $file: 是否存在且為字元裝置檔案;
-s $file: 是否存在且為套接字檔案:
-p $file: 是否存在且為管道檔案;
-r $file: 當前使用者對此檔案是否擁有讀許可權;
-w $file: 寫許可權;
-x $file: 執行許可權;
-u $file: 檔案是否擁有suid許可權;
-g $file:檔案是否擁有sgid許可權;
-k $file: 檔案是否擁有sticky許可權;
-o $file: 當前使用者是否為檔案的屬主;
-g $file: 當前使用者是否屬於檔案的屬組;
-n $file: 檔案自從上一次被讀取之後,是否被修改過;
Shell 條件測試(test)基礎語法
條件測試的語法有兩種 test 條件表示式 或 條件表示式 注意 中括號 與條件表示式之間一定要有空格,不然會報錯 字串運算子 運算子說明string 判斷指定的字元是否為空串 string1 string2 判斷兩個字串string1和string2是否相等 string1 string2 判斷兩...
shell程式設計的語法 lt 條件測試
條件測試是程式設計中不可缺少的一部分.以下就是shell程式設計中常見的條件測試方法.test 或 命令 使用這二個命令用來測試條件是真還是假.使用方法 if test f file.c 或 if f file.c then then fi fi 當條件滿足 即為真 時,則執行then後面的語句.注...
Shell指令碼語法 條件測試 test
命令test或 可以測試乙個條件是否成立,如果測試結果為真,則該命令的exit status為0,如果測試結果為假,則命令的exit status為1 注意與c語言的邏輯表示正好相反 例如測試兩個數的大小關係 var 2 test var gt 1 echo 0 test var gt 3 echo...