Stop Syntax Errors in Numeric Tests

The test and [ (square bracket) commands () 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 to . If $num is , the test will be true (because is greater than )-and so on, just as it should be.

- JP