shell中 if 判斷條件的引數

2021-09-16 21:48:26 字數 2145 閱讀 3410

1、檔案判斷

[ -a file ] 如果 file 存在則為真。 

[ -b file ] 如果 file 存在且是乙個塊特殊檔案則為真。

[ -c file ] 如果 file 存在且是乙個字特殊檔案則為真。 

[ -d file ] 如果 file 存在且是乙個目錄則為真。 

[ -e file ] 如果 file 存在則為真。

[ -f file ] 如果 file 存在且是乙個普通檔案則為真。 

[ -g file ] 如果 file 存在且已經設定了sgid則為真。 

[ -h file ] 如果 file 存在且是乙個符號連線則為真。 

[ -k file ] 如果 file 存在且已經設定了粘制位則為真。 

[ -p file ] 如果 file 存在且是乙個名字管道(f如果o)則為真。 

[ -r file ] 如果 file 存在且是可讀的則為真。 

[ -s file ] 如果 file 存在且大小不為0則為真。  

[ -t fd ] 如果檔案描述符 fd 開啟且指向乙個終端則為真。 

[ -u file ] 如果 file 存在且設定了suid (set user id)則為真。 

[ -w file ] 如果 file 如果 file 存在且是可寫的則為真。 

[ -x file ] 如果 file 存在且是可執行的則為真。 

[ -o file ] 如果 file 存在且屬有效使用者id則為真。 

[ -g file ] 如果 file 存在且屬有效使用者組則為真。 

[ -l file ] 如果 file 存在且是乙個符號連線則為真。  

[ -n file ] 如果 file 存在 and has been mod如果ied since it was last read則為真。

[ -s file ] 如果 file 存在且是乙個套接字則為真。  

[ file1 -nt file2 ] 如果 file1 has been changed more recently than file2,or 如果 file1 exists and file2 does not則為真。  

[ file1 -ot file2 ] 如果 file1 比 file2 要老, 或者 file2 存在且 file1 不存在則為真。  

[ file1 -ef file2 ] 如果 file1 和 file2 指向相同的裝置和節點號則為真。 

2、字串判斷

[ -z string ] 「string」 的長度為零則為真。  

[ -n string ] or [ string ] 「string」 的長度為非零 non-zero則為真。

[ string1 == string2 ] 如果2個字串相同。 「=」 may be used instead of 「==」 for strict posix compliance則為真。  

[ string1 != string2 ] 如果字串不相等則為真。  

[ string1 < string2 ] 如果 「string1」 sorts before 「string2」 lexicographically in the current locale則為真。  

[ string1 > string2 ] 如果 「string1」 sorts after 「string2」 lexicographically in the current locale則為真。

3、數字判斷

[ arg1 op arg2 ] 「op」 is one of -eq, -ne, -lt, -le, -gt or -ge. these arithmetic binary operators return true if 「arg1」 is equal to, not equal to, less than, less than or equal to, greater than, or greater than or equal to 「arg2」, respectively. 「arg1」 and 「arg2」 are integers. 

[ $count -gt "1"] 如果$count 大於1 為真

-gt  大於

-lt    小於

-ne  不等於

-eq  等於

-ge  大於等於

-le  小於等於

shell中條件判斷if

a file 如果file存在則為真。b file 如果file存在且是乙個塊特殊檔案則為真。c file 如果file存在且是乙個字特殊檔案則為真。d file 如果file存在且是乙個目錄則為真。e file 如果file存在則為真。f file 如果file存在且是乙個普通檔案則為真。g fi...

shell中if判斷條件

if 的三種條件表示式 ifcommand then if函式 then 命令執行成功,等於返回0 比如grep 找到匹配 執行失敗,返回非0 grep,沒找到匹配 if expression r r r then 表示式結果為真,則返回0,if把0值引向then if test expressio...

shell中if條件判斷

整數測試 字元測試 檔案測試 1 條件測試表示式 expression 括號兩端必須要有空格 expression 括號兩端必須要有空格 test expression 組合測試條件 a and o or 取非 2 整數比較 eq 測試兩個整數是否相等 ne 測試兩個整數是否不等 gt 測試乙個數是...