Форум — Development shell 0 0 Как сделать проверку на то, что аргумент слово или цифра? Аля: if [ $1 -eq [[:digit:]] ] then ... Ссылка
if echo "$1" | egrep -q '^\d+$' then ... Legioner ★★★★★ (20.04.08 16:44:25 MSD) Показать ответ Ссылка
Ответ на: комментарий от Legioner 20.04.08 16:44:25 MSD Эта конструкция при любом раскладе выдает FALSE SANTA_CLAUS ★★ (20.04.08 16:48:49 MSD) автор топика Показать ответ Ссылка
if expr "$1" : '[0-9]*$' > /dev/null; then dilmah ★★★★★ (20.04.08 16:50:25 MSD) Показать ответы Ссылка
Ответ на: комментарий от dilmah 20.04.08 16:50:25 MSD хм.. интересный вариант :) SANTA_CLAUS ★★ (20.04.08 16:52:15 MSD) автор топика Ссылка
Ответ на: комментарий от SANTA_CLAUS 20.04.08 16:48:49 MSD Вторая попытка. if echo "$1" | egrep -xq '[[:digit:]]+' then ... Legioner ★★★★★ (20.04.08 16:53:14 MSD) Показать ответ Ссылка
Ответ на: комментарий от Legioner 20.04.08 16:53:14 MSD Тоже вариант спасибо. SANTA_CLAUS ★★ (20.04.08 16:58:33 MSD) автор топика Показать ответ Ссылка
Ответ на: комментарий от SANTA_CLAUS 20.04.08 16:58:33 MSD Только ни один вариант не срабатывает при a=$(echo -ne "123\na") :( Legioner ★★★★★ (20.04.08 17:02:32 MSD) Ссылка
Ответ на: комментарий от dilmah 20.04.08 16:50:25 MSD # don't you dare use any non-builtin for such # a simple case case $1 in *[^0-9]*) echo noooooooo, it\'s NOT digit\!;; *[0-9]*) echo it\'s fucking digit\!;; *) echo fucked up esac anonymous (20.04.08 18:40:09 MSD) Ссылка
Ответ на: комментарий от dilmah 20.04.08 16:50:25 MSD > [0-9]*$ ты с какой планеты? с каких пор пустая строка стала цифрой? или ты забыл что `*' включает и отсутствие повторов? anonymous (20.04.08 18:43:17 MSD) Показать ответ Ссылка
Ответ на: комментарий от anonymous 20.04.08 18:43:17 MSD > ты с какой планеты? с каких пор пустая строка стала цифрой? или ты забыл что `*' включает и отсутствие повторов? причем тут я? регекспы на витрине руками не трогать. dilmah ★★★★★ (20.04.08 18:52:47 MSD) Ссылка