Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在bash中比较负数_Bash_Comparison_Negative Number - Fatal编程技术网

在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