Compare negative numbers in bash

bash, comparison, negative-number

Solution

Seems to work correctly:

if [[ "-2" -gt "-1" ]]; then
    echo "-2 >-1"
else
    echo "-2 <=-1"
fi

Output:

-2 <=-1

You might want to use `((...))` which enables the expression to be evaluated according to rules of Shell Arithmetic.

$ ((-2 <= -1)) && echo Smaller or equal || echo Larger
Smaller or equal
$ ((-2 <= -3)) && echo Smaller or equal || echo Larger
Larger

Problem

How can i accomplish number comparison involving negative numbers? ``` if [[ "-2" > "-1" ]]; then echo "-2 >-1" else echo "-2 <=-1" fi ``` I also tried ``` if [ '-2' -lt '-1' ]; then ``` but the condition always behaves as if -2 would be greater than -1. The comparisons work when i do not use negative numbers. I would like a solution in pure bash if possible.

Original source

Related problems