shell脚本学习总结08--比较与测试

程序中流程控制是由比较语句和测试语句处理的

算数比较

[ $var -gt 20 ]

[ $var -gt 20 -a $var -lt 50 ]         #使用逻辑与

[ $var -ne 20 -o $var -ne 50 ]       #使用逻辑或

  • -eq: 等于 equal
  • -lt:  小于 less than
  • -gt:  大于 greater then
  • -ge:  大于或等于   greater equal
  • -le:  小于或等于   less equal
  • -ne : 不等于

 字符串比较

使用字符串比较时,最好使用"[[ ]]",采用单中括号时容易产生错误,如下图所示:

要么就加上字符串都加上双引号

[[ $str1 = $str2 ]]            #str1和str2包含的文本是一模一样的

[[ $str1 != $str2 ]]    #str1和str2包含的文本是不一样的

[[ -z $str ]]        #str为空,则返回真。

[[ -n $str ]]        #str有值,not empty

 注意[[]]不能够使用-a或者-o,而应该使用:

[[ $var1 = hello && $var2 = world ]

文件系统相关测试

[ -f filename ]

[ ! -f filename ]      #不存在文件

 参照:Linux命令之乐--test

 

使用逻辑运算符&&和||能够很容易的将多个条件组合起来:

[[ -n $str1 ]] && [[ -z $str2 ]]
[ -f file_name ] || { touch file_name;chmod 644 file_name;} #大括号里面接要执行的命令

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值