1. 程式人生 > >【Shell】Linux的判斷表示式:-d,-f,-e等

【Shell】Linux的判斷表示式:-d,-f,-e等

檔案比較運算子

表示式         說明                            案例

-e filename    如果filename存在,則為真        [ –e /etc/hosts ]

-d filename    如果filename為目錄,則為真      [ –e /etc ]

-f filename    如果filename為常規檔案,則為真  [ –f /usr/bin/grep]

-L filename    如果filename為符號連結,則為真  [ –L /usr/bin/grep]

-r filename    如果filename可讀,則為真        [ –r /etc/hosts ]

-w filename    如果filename可寫,則為真        [ –w /etc/hosts ]

-x filename    如果filename可執行,則為真      [ –x /etc/hosts ]

filename1 –nt filename2   如果filename1比filename2新,則為真 [/usr/test/file1.txt –nt /usr/test/file2.txt]

filename1 –ot filename2   如果filename1比filename2舊,則為真 [/usr/test/file1.txt –ot /usr/test/file2.txt]

字串比較運算子

-z string      如果string長度為0,則為真        [ –z “$var”]

-n string      如果string長度非0,則為真        [ –n “$var”]

str1=str2      如果str1與str2相同,則為真      [ “$var”=”hello world”]

str1!=str2     如果str1與str2不相同,則為真    [ “$var”!=”hello world”]


算是比較運算子

num1-eq num2 	  等於	       [ 3 -eq $mynum ]
num1-ne num2 不等於 [ 3 -ne $mynum ]
num1-lt num2 小於 [ 3 -lt $mynum ]
num1-le num2 小於或等於 [ 3 -le $mynum ]
num1-gt num2 大於 [ 3 -gt $mynum ]
num1-ge num2 大於或等於 [ 3 -ge $mynum ]