Команда test также может сравнить два целых числа. Для этого используется следующий синтаксис:
–eq A равно B?
–ne A не равно B?
–ge A больше или равно B?
test A –le B A меньше или равно B?
–gt A больше B?
–lt A меньше B?
В данном случае команда test воспринимает строки символов как целые числа. Поэтому во всех остальных случаях "нулевому" значению кода завершения соответствует пустая строка. В случае, если надо обнулить переменную, скажем, "x", то это достигается присваиванием "x=0".
Например;
x=abc; [ abc –eq "$x" ] ;echo $?
"[": integer expression expected before –eq
x=321; [ 321 –eq "$x" ] ; echo $?
x=3.21; [ 3.21 –eq "$x" ];echo $?
"[": integer expression expected before –eq
x=321; [ 123 –lt "$x" ]; echo $?