The
test and [ (square bracket) commands (44.20)
can compare two numbers.
But it's an error if one of the numbers you test is stored in a shell variable
that's empty or doesn't exist.
For example, an empty num variable here will give you a Syntax
error:
if [ "$num" -gt 0 ] then ...
To stop syntax errors, add a leading zero, like this:
if [ "0$num" -gt 0 ] then ...
In that case, if $num is empty, the test will compare 0 to
0.
If $num is 1, the test will be true (because 01 is
greater than 0)-and so on, just as it should be.
-