文件比较运算符
表达式 说明 案例
-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”]