天天看點

條件判斷

按照檔案類型進行判斷:

-b 檔案

判斷該檔案是否存在,并且是否為塊裝置(是塊裝置檔案為真)

-c 檔案

判斷該檔案是否存在,并且是否為字元裝置檔案

-d 檔案

判斷該檔案是否存在,并且是否為目錄檔案

-e 檔案

判斷該檔案是否存在

-f 檔案

判斷該檔案是否存在,并且是否為普通檔案

-L 檔案

判斷該檔案是否存在,并且是否為符号連結檔案

-p 檔案

判斷該檔案是否存在,并且是否為管道檔案

-s 檔案

判斷該檔案是否存在,并且是否為非空

-S 檔案

判斷該檔案是否存在,并且是否為套接字檔案

按照檔案權限進行判斷:

-r 檔案

判斷該檔案是否存在,并且該檔案是否具有讀權限;

-w 檔案

判斷該檔案是否存在,并且該檔案是否具有寫權限;

-x 檔案

判斷該檔案是否存在,并且該檔案是否具有執行權限;

-u 檔案

判斷該檔案是否存在,并且該檔案是否具有suid權限;

-g 檔案

判斷該檔案是否存在,并且該檔案是否具有sgid權限;

-k 檔案

判斷該檔案是否存在,并且該檔案是否具有sbit權限;

兩個檔案之間進行比較:

檔案1 -nt 檔案2

判斷檔案1的修改時間是否比檔案2的新;

檔案1 -ot 檔案2

判斷檔案1的修改時間是否比文伯2的舊;

檔案1 -ef 檔案2

判斷檔案1和檔案2的inode号是否一緻,可以了解為兩個檔案是否為同一檔案。這個判斷用于判斷硬連結是很好的方法。

兩個整數之間進行比較:

整數1 -eq 整數2

判斷整數1是否和整數2相等;

整數1 -ne 整數2

判斷整數1是否和整數2不相等;

整數1 -gt 整數2

判斷整數1是否大于整數2;

整數1 -lt 整數2

判斷整數1是否小于整數2;

整數1 -ge 整數2

判斷整數1是否大于等于整數2;

整數1 -le 整數2

判斷整數1是否小于等于整數2;

字元串的判斷:

-z 字元串

判斷字元串是否為空,為空傳回真;

-n 字元串

判斷字元串是否為非空;

字元串1 == 字元串2

判斷字元串1和字元串2是否相等;

字元串1 != 字元串2

判斷字元串1和字元串2是否不相等;

多重條件判斷:

判斷1 -a 判斷2

邏輯與,判斷1和判斷2都成立,最終的結果才為真

判斷1 -o 判斷2

邏輯或,判斷1和判斷2有一個成立,最終的結果就為真

! 判斷

邏輯非,使原始的判斷式取反

      本文轉自limingyu0312  51CTO部落格,原文連結:http://blog.51cto.com/limingyu/1907871,如需轉載請自行聯系原作者