[-a file] 如果file存在則為真
不過貌似有時候-a表示為and:條件與
[-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存在且已經設定粘製位則為真
當乙個目錄被設定為"粘製位"(用chmod a+t),則該目錄下的檔案只能由
一、超級管理員刪除
二、該目錄的所有者刪除
三、該檔案的所有者刪除
也就是說,即便該目錄是任何人都可以寫,但也只有檔案的屬主才可以刪除檔案。
具體例子如下:
#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
[arg1 op arg2] 「op」is one of –eq,-ne,-lt,-le,-gt or –ge.these arithmetic binary oprators 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「agr2」,respectively.「arg1」and 「agr2」are integers.
shell指令碼中的if 引數 a至 z
a file 如果file存在則為真 不過貌似有時候 a表示為and 條件與 b file 如果file存在且是乙個塊特殊檔案則為真 c file 如果file存在且是乙個字特殊檔案則為真 d file 如果file檔案存在且是乙個目錄則為真 d前的 是邏輯非 例如 if d lcd path pa...
shell指令碼中的if引數
afile 如果file存在則為真。bfile 如果file存在且是乙個塊特殊檔案則為真。cfile 如果file存在且是乙個字特殊檔案則為真。dfile 如果file存在且是乙個目錄則為真。efile 如果file存在則為真。ffile 如果file存在且是乙個普通檔案則為真。gfile 如果fi...
shell指令碼 訪問shell指令碼的引數
所謂的位置引數 positional parameters 指的也就是shell指令碼的命令列引數 command line arguments 在shell函式裡,它們同時也可以是函式的引數。各引數都由整數來命名。由於歷史原因,當它超過9時,就應該用大括號把數字框起來 echo first arg...