04Shell条件判断

条件判断——基本语法

[ condition ](注意 condition 前后要有空格) #非空返回 true,可使用 $? 验证(0 为 true,>1 为 false)

应用实例

[ abc ] 返回 true
[] 返回 false
[condition] && echo OK || echo notok 条件满足,执行OK,不满足,执行 notok

常用判断条件

1)两个整数的比较
= 字符串比较
-lt 小于(less than)
-le 小于等于(less equal)
-eq 等于(equal)
-gt 大于(greater than)
-ge 大于等于(greater equal)
-ne 不等于(not equal)

注:如果是字符串之间的比较 ,用等号“=”判断相等;用“!=”判断不等。
2)按照文件权限进行判断
-r 有读的权限(read)   [ -r 文件 ]
-w 有写的权限(write)
-x 有执行的权限(execute)
3)按照文件类型进行判断
-f 文件存在并且是一个常规的文件(file)
-e 文件存在(existence)
-d 文件存在并是一个目录(directory)

应用实例

案例 1:“ok"是否等于"ok”

判断语句:

[niujifei@njf ~]$ [ "OK100" = "OK" ]
[niujifei@njf ~]$ echo $?
1

案例 2:23 是否大于等于 22

判断语句:

[niujifei@njf ~]$ [ 23 -ge 22 ]
[niujifei@njf ~]$ echo $?
0

案例3:helloworld.sh 是否具有写权限

[niujifei@njf ~]$ [ -w helloworld.sh ]
[niujifei@njf ~]$ echo $?
1

案例4:/root/install.log 目录中的文件是否存在

判断语句:

[niujifei@njf ~]$ [ -e /root/install.log ]
[niujifei@njf ~]$ echo $?
1

案例5:多条件判断(&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一条命令执行失败后,才执行下一条命令)

[niujifei@njf ~]$ [ abc ] && echo OK || echo notOK
OK
[niujifei@njf ~]$ [  ] && echo OK || echo notOK
notOK
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值