您的位置:首页 > 运维架构 > Shell

【shell】条件判断式

2016-06-20 11:03 465 查看
条件判断式的表示格式:



文件判断式:



[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


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: