SHELL 脚本中进行数值比较是很重要的一项需求。
前提
介绍之前先说两个知识点:
$?
表示上一个命令的 "exit status
"(执行状态)- 命令的返回值为
0
则表示成功(true)
,其他返回值均表示失败(false)
数值比较
相等
$ [ 3 -eq 3 ]; echo $?
0
$ (( 3 == 3 )); echo $?
0
不相等
$ [ 3 -ne 3 ]; echo $?
1
$ (( 3 != 3 )); echo $?
1
大于
$ [ 4 -gt 3 ]; echo $?
0
$ (( 4 > 3 )); echo $?
0
大于等于
$ [ 4 -ge 3 ]; echo $?
0
$ (( 4 >= 3 )); echo $?
0
小于
$ [ 4 -lt 3 ]; echo $?
1
$ (( 4 < 3 )); echo $?
1
小于等于
$ [ 4 -le 3 ]; echo $?
1
$ (( 4 <= 3 )); echo $?
1
补充
$ [ ]
表示执行判断,注意格式 [空格$1空格比较方式空格$2空格]
在 []
与变量间要留空格,否则会存在语法错误。
附录
参考链接
本文由 柒 创作,采用 知识共享署名4.0
国际许可协议进行许可。
转载本站文章前请注明出处,文章作者保留所有权限。
最后编辑时间: 2018-06-07 11:39 AM