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.
-