【Shell】Linux的判断表达式:-d,-f,-e等

别来无恙 提交于 2020-01-13 02:11:48

文件比较运算符

表达式         说明                            案例

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





易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!