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