檔案比較運算子
-e filename 如果 filename存在,則為真 [ -e /var/log/syslog ]
-d filename 如果 filename為目錄,則為真 [ -d /tmp/mydir ]
-f filename 如果 filename為常規檔案,則為真 [ -f /usr/bin/grep ]
-l filename 如果 filename為符號鏈結,則為真 [ -l /usr/bin/grep ]
-r filename 如果 filename可讀,則為真 [ -r /var/log/syslog ]
-w filename 如果 filename可寫,則為真 [ -w /var/mytmp.txt ]
-x filename 如果 filename可執行,則為真 [ -l /usr/bin/grep ]
filename1-nt filename2 如果 filename1比 filename2新,則為真 [ /tmp/install/etc/services -nt /etc/services ]
filename1-ot filename2 如果 filename1比 filename2舊,則為真 [ /boot/bzimage -ot arch/i386/boot/bzimage ]
字串比較運算子 (請注意引號的使用,這是防止空格擾亂**的好方法)
-z string 如果 string長度為零,則為真 [ -z 「myv
ar"]
−nst
ring
如果st
ring
長度非零
,則為真
[−n"
myvar" ] -n string 如果 string長度非零,則為真 [ -n "
myvar"
]−ns
trin
g如果s
trin
g長度非
零,則為
真[−n
"myvar」 ]
string1= string2 如果 string1與 string2相同,則為真 [ 「myv
ar"=
"one
twot
hree
"]st
ring
1!=s
trin
g2如果
stri
ng1與
stri
ng2不
同,則為
真[
"myvar" = "one two three" ] string1!= string2 如果 string1與 string2不同,則為真 [ "
myvar"
="on
etwo
thre
e"]s
trin
g1!=
stri
ng2如
果str
ing1
與str
ing2
不同,則
為真["
myvar」 != 「one two three」 ]
算術比較運算子
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 ]
shell檔案比較運算子
e filename 如果filename 存在,則為真 e var log syslog d filename 如果filename 為目錄,則為真 d tmp mydir f filename 如果filename 為常規檔案,則為真 f usr bin grep l filename 如果fi...
shell 比較運算子
描述示例 檔案比較運算子 e filename 如果 filename 存在,則為真 不管檔案或目錄 e var log syslog d filename 如果 filename 為目錄,則為真 d tmp mydir f filename 如果 filename 為常規檔案,則為真 f usr ...
Shell 檔案運算子
檔案運算子 描述 b file 檢測 file 是否為塊裝置檔案 c file 檢測 file 是否為字元裝置檔案 d file 檢測 file 是否為目錄 e file 檢測 file 是否存在 f file 檢測 file 是否存在為普通檔案 r file 檢測 file 是否可讀 s file...