條件測試語法

2022-05-28 16:51:10 字數 1183 閱讀 6591

*注意: 測試表示式中的變數需要使用雙引號「」,否者邏輯會出錯。

語法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...