在bash中比较负数
如何完成涉及负数的数字比较在bash中比较负数,bash,comparison,negative-number,Bash,Comparison,Negative Number,如何完成涉及负数的数字比较 if [[ "-2" > "-1" ]]; then echo "-2 >-1" else echo "-2 <=-1" fi 但是这个条件总是表现为-2大于-1 当我不使用负数时,比较是有效的 如果可能的话,我想要一个纯bash的解决方案 $ a=-2 $ [ $a -le -1 ] && echo "i am lower or equal than -1" i am lower or equal than -1
if [[ "-2" > "-1" ]]; then
echo "-2 >-1"
else
echo "-2 <=-1"
fi
但是这个条件总是表现为-2大于-1
当我不使用负数时,比较是有效的
如果可能的话,我想要一个纯bash的解决方案
$ a=-2
$ [ $a -le -1 ] && echo "i am lower or equal than -1"
i am lower or equal than -1
或
要使其“大于”,您需要ge
(大于或等于)或gt
(严格大于)。-lt
表示小于。事实上,-2小于-1
您要使用的
-gt
,大于。似乎工作正常:
if [[ "-2" -gt "-1" ]]; then
echo "-2 >-1"
else
echo "-2 <=-1"
fi
-le
并不意味着它更低。@KarolyHorvath只是更新了它,谢谢。
if [ $a -le -1 ]; then
echo "i am lower or equal than -1"
fi
if [[ "-2" -gt "-1" ]]; then
echo "-2 >-1"
else
echo "-2 <=-1"
fi
-2 <=-1
$ ((-2 <= -1)) && echo Smaller or equal || echo Larger
Smaller or equal
$ ((-2 <= -3)) && echo Smaller or equal || echo Larger
Larger