История изменений
Исправление Zmicier, (текущая версия) :
Для начала определитесь с тем, что вы называете «числом». Если «число» — это число, понимаемое ГНУ Башем, то есть целое положительное (возможно, с ведущим плюсом) или отрицательное, то это один из редких случаев, когда бывают полезны устаревшие одиночные квадратные скобочки.
[ "$i" -eq "$i" ] 2>&- || err "‘$i’ is not an integer"
Если что-то иное, то что-то иное.
P. S. err
— это какая-то ваша функция обработки ошибок, разумеется. В простейшем случае:
err() {
printf >&2 '%s\n' "$*"
exit 1
}
Исходная версия Zmicier, :
Для начала определитесь с тем, что вы называете «числом». Если «число» — это число, понимаемое ГНУ Башем, то есть целое положительное (возможно, с ведущим плюсом) или отрицательное, то это один из редких случаев, когда бывают полезны устаревшие одиночные квадратные скобочки.
[ "$i" -eq "$i" ] 2>&- || err "‘$i’ is not an integer"
Если что-то иное, то что-то иное.