LINUX.ORG.RU

expr $2 + любое число >dev/null 2>&1
echo $?

код 0 число
код 2 не число

hyde
()
Ответ на: комментарий от unDEFER

лучще так

echo "$c" | grep -qE "^(-[[:digit:]]|[[:digit:]])+$" && echo "число" || echo "не число"

иначе отрицательные числа числами не будут, а пустые или неинициализированные переменные - будут

ananas ★★★★★
()
Ответ на: комментарий от ananas

Поздравляю вас, господин ananas, соврамши:

$ echo "-1-2-3" | grep -qE "^(-[[:digit:]]|[[:digit:]])+$" && echo "число" || echo "не число"
число

Странноватый результат, не правда ли?

Может так лучше:

echo "$c" | grep -qE "^[+-]?[[:digit:]]+$" && echo "число" || echo "не число"

Onanim
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.