Shell 表示式判斷

2021-07-26 05:42:06 字數 1211 閱讀 4967

表示式放到[ ]中

檔案表示式

-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 ]

shell 判斷表示式整理

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

shell邏輯判斷式與表示式

邏輯卷標 表示意思 1.關於檔案與目錄的偵測邏輯卷標!f常用!偵測 檔案 是否存在 eg if f filename d 常用!偵測 目錄 是否存在 b偵測是否為乙個 block 檔案 c偵測是否為乙個 character 檔案 s 偵測是否為乙個 socket 標籤檔案 l 偵測是否為乙個 sym...

if判斷表示式

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