Shell中條件判斷if中的各種引數的意思

2021-07-13 09:38:18 字數 1710 閱讀 9043

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

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

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

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

-d前的!是邏輯非  

例如:  

if [ ! -d $lcd_path/$par_date ]  

表示後面的那個目錄不存在,則執行後面的then操作  

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

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

[-g file] 如果file存在且已經設定了sgid則為真(suid 是 set user id, sgid 是 set group id的意思)  

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

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

#ls -dl /tmp  

drwxrwxrwt 4 root    root  .........  

注意other位置的t,這便是粘連位。  

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

管道是linux裡面程序間通訊的一種方式,其他的還有像訊號(signal)、訊號量、訊息佇列、共享記憶體、套接字(socket)等。  

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

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

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

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

[-w 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或者file1 exists and file2 does not則為真  

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

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

[-o optionname] 如果shell選項「optionname」開啟則為真  

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

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

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

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

[string1

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 測試乙個數是...