Linux测试比较语句

测试和比较语句用于if或脚本命令中:

if condition
then
    commands
else if conditon
then
    commands
fi
或
[ condition ] && command;    #如果condition为真则执行command
[ condition ] || command;    #如果condition为假则执行command

算数比较:

[ $var1 -eq 0 -a $var2 -ne 0 ]      #当var为0且var2不为0时返回真,-a代表and,-o代表or,中括号内部两端需加空格
以上中括号可用test代替:
test $var1 -eq 0    #可以用-a连接两个判断,&&不行

其他操作符如下:

操作符含义
-gt大于
-lt小于
-ge大于等于
-le小于等于

文件系统相关测试操作符:
例子:

[student@myhost ~]$ cat a
if [ -f /home/student/a ]
then
    echo x
fi
[student@myhost ~]$ bash a
x
操作符含义
-f所给变量是否为文件名或文件路径
-x文件是否可执行
-d是否是目录
-e文件是否存在
-c是否是一个字符设备文件
-b是否是一个块设备文件
-w文件是否可写
-r文件是否可读
-L文件是否是一个符号链接

字符串的比较:
进行字符串比较时最好使用双中括号:

操作符含义
[[ $str1 = $str2 ]] (等号两端有空格,无空格为赋值语句)或[[ $str1 == $str2 ]]两端是否相同
[[ $str1 != $str2 ]]两端是否不同
[[ $str1 > $str2 ]]比较字母序
[[ -z $str ]]空返回真
[[ -n $str ]]非空返回真

组合判断:

[[ -z $str ]] && [[ -n $str ]]
或
[[ -z $str && -n $str ]]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值