如何完成负数比较的负数?比较负数中的负数
if [[ "-2" > "-1" ]]; then
echo "-2 >-1"
else
echo "-2 <=-1"
fi
我也试过
if [ '-2' -lt '-1' ]; then
但病情始终行为就像-2会大于-1。
比较工作时,我不使用负数。
如果可能的话,我想在纯bash中的解决方案。
如何完成负数比较的负数?比较负数中的负数
if [[ "-2" > "-1" ]]; then
echo "-2 >-1"
else
echo "-2 <=-1"
fi
我也试过
if [ '-2' -lt '-1' ]; then
但病情始终行为就像-2会大于-1。
比较工作时,我不使用负数。
如果可能的话,我想在纯bash中的解决方案。
似乎正常工作:
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
$ a=-2
$ [ $a -le -1 ] && echo "i am lower or equal than -1"
i am lower or equal than -1
或
if [ $a -le -1 ]; then
echo "i am lower or equal than -1"
fi
为了让 “大于”,你需要ge
(大于或等于)或gt
(严格大于)。
-lt
表示小于。事实上,-2小于-1。
要使用-gt
,大于。
'-le'并不意味着它更低。 –
@KarolyHorvath只是更新它,谢谢。 – fedorqui