玩转Bash脚本:test测试语句

总第1篇
test就是测试的意思,常用在流程控制语句中作为条件。下面做一下介绍。

关于真值

与其他语言不同,Bash(包括其他Shell)中,是用0表示真,非0表示假的。
之所以用0表示成功,而不是1来表示。我认为也是有一定道理的,因为成功的情况只有一种,而出错的可能却有许多,所以用正数来表示错误。不同的正数代表着不同的错误,所以一般情况下可以通过正数的值来判断是出了什么错误。

如果你有过POSIX编程经验(比如Linux下C编程),你会知道一个errno的东西。你也会知道大量的if语句用来测试一个函数的调用结果,每个函数基本上都是返回0时表示操作成功,而如果返回非0则出错,此时你也要exit(0)。

下面言归正传

测试整数

基本规则

整数的test就是大小关系的比较,与其他语言不同,Bash中没有使用<,>来做大于等于号,而是使用了减号开头的选项来比较。

假如有两个整数变量a和b。那么比较a是否大于b,就写作test $a -gt $b,符合条件返回真值0。
实际在终端里测试的时候可以这样写来看test语句的执行结果:

test $a -gt $b && echo Yes

如果条件成立打印 Yes,不成立不打印。

全部选项

选项 描述 英文全称
eq 等于 equal
gt 大于 greater than
lt 小于 less than
ne 不等于 not equal
ge 大于等于 greater or equal
le 小于等于
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

果冻虾仁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值