shell条件判断式

Posted 菜比之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell条件判断式相关的知识,希望对你有一定的参考价值。

条件判断式的表示格式:

 

文件判断式:

[root@andon ~]# [ -e /root/1 ] && echo yes || echo no  #注意[]里面的空格,第一个命令为真打印yes,否则打印no
yes
[root@andon ~]# [ -f /root/1 ] && echo yes || echo no   
yes
[root@andon ~]# [ -d /root/1 ] && echo yes || echo no 
no

文件权限判断式:

[root@andon ~]# [ -r /root/1 ] && echo yes || echo no 
yes
[root@andon ~]# [ -x /root/1 ] && echo yes || echo no 
no
[root@andon ~]# [ -w /root/1 ] && echo yes || echo no 
yes

文件比较判断式:

 

[root@andon ~]# [  /root/1 -nt /root/2 ] && echo yes || echo no 
no
[root@andon ~]# [  /root/1 -ot /root/2 ] && echo yes || echo no 
yes
[root@andon ~]# [  /root/1 -ef /root/2 ] && echo yes || echo no 
no
[root@andon ~]# ln   1  3
[root@andon ~]# [  /root/1 -ef /root/3 ] && echo yes || echo no 
yes

 整数比较判断式:

 

[root@andon ~]# [ 4 -eq 4 ] && echo yes || echo no  #等于
yes
[root@andon ~]# [ 4 -ne 4 ] && echo yes || echo no  ##不等于
no
[root@andon ~]# [ 5 -gt 4 ] && echo yes || echo no  ##大于
yes
[root@andon ~]# [ 5 -lt 4 ] && echo yes || echo no  ##小于
no
[root@andon ~]# [ 5 -ge 4 ] && echo yes || echo no   ##大于等于
yes 
[root@andon ~]# [ 5 -le 4 ] && echo yes || echo no  ##小于等于
no

字符串判断式:

 

[root@andon ~]# [ -z $a ] && echo yes || echo no  ##判断为空
no
[root@andon ~]# [ -n $a ] && echo yes || echo no  ##判断非空
yes
[root@andon ~]# b=abc
[root@andon ~]# [ $a == $b ] && echo yes || echo no
yes
[root@andon ~]# [ $a != $b ] && echo yes || echo no
no

多重条件判断式:

 

[root@andon ~]# [ -n $b -a -z $a ] && echo yes || echo no  ##与
no
[root@andon ~]# [ -n $b -o -z $a ] && echo yes || echo no  ##或
yes

  

以上是关于shell条件判断式的主要内容,如果未能解决你的问题,请参考以下文章

shell条件判断

shell脚本的if判断语句

Shell脚本必备十八式之第二式条件语句

Shell脚本中的逻辑判断

Shell脚本之条件语句

shell脚本之条件语句