在bash shell中如何比较两个数字
时间:2019-11-20 08:52:49 来源:igfitidea点击:
问题
在bash shell中如何比较数字?
解决方案
可以使用test命令通过以下运算符比较两个数字:
INTEGER1 -eq INTEGER2
INTEGER1等于INTEGER2INTEGER1 -ge INTEGER2
INTEGER1大于或等于INTEGER2INTEGER1 -gt INTEGER2
INTEGER1大于INTEGER2INTEGER1 -le INTEGER2
INTEGER1小于或等于INTEGER2INTEGER1 -lt INTEGER2
INTEGER1小于INTEGER2INTEGER1 -ne INTEGER2
INTEGER1不等于INTEGER2
test语句
test命令计算表达式,如果计算结果为真,则返回0。否则返回1。
:
test condition test condition && do_something || do_nothing_due_to_false [ condition ] && do_something || do_nothing_due_to_false
if语句
if命令的语法如下:
if [ condition ]; then do_run_this_due_to_true_condition else do_run_this_due_to_false_condition fi
示例:在bash找那个比较两个数字
3是否大于5?返回1表示假。
x=3 y=5 [ $x -gt $y ] echo $?
输出示例:
1
5是否大于3,返回0,表示5确实大于3
x=5 y=3 [ $x -gt $y ] echo $?
0
在linux中,命令和程序一般都是成功用0表示;不成功则使用非0表示,并且根据不同的非0值表示不同的错误原因。
在bash shell中,还可以使用以下语法,更加简洁:
[ condition ] && true-command || false-command
例如:
x=5 y=3 [ $x -gt $y ] && echo " $x > $y " || echo "$x <= $y"