shell指令碼中if的“-e,-d,-f”
阿新 • • 發佈:2020-12-23
-e filename 如果 filename存在,則為真 -d filename 如果 filename為目錄,則為真 -f filename 如果 filename為常規檔案,則為真 -L filename 如果 filename為符號連結,則為真 -r filename 如果 filename可讀,則為真 -w filename 如果 filename可寫,則為真 -x filename 如果 filename可執行,則為真 -s filename 如果檔案長度不為0,則為真 -h filename 如果檔案是軟連結,則為真 filename1 -nt filename2 如果 filename1比 filename2新,則為真。 filename1 -ot filename2 如果 filename1比 filename2舊,則為真 -eq 等於 -ne 不等於 -gt 大於 -ge 大於等於 -lt 小於 -le 小於等於 if [ $a = $b ] 如果string1等於string2,則為真,字串允許使用賦值號做等號 if [ $string1 != $string2 ] 如果string1不等於string2,則為真 if [ -n $string ] 如果string 非空(非0),返回0(true) if [ -z $string ] 如果string 為空,則為真 if [ $sting ] 如果string 非空,返回0 (和-n類似) 邏輯非 ! 條件表示式的相反 if [ ! 表示式 ] if [ ! -d $num ] 如果不存在目錄$num 邏輯與 –a 條件表示式的並列 if [ 表示式1 –a 表示式2 ] 邏輯或 -o 條件表示式的或 if [ 表示式1 –o 表示式2 ]