On 2011.09.10 at 10:42:32 +0100, Mikhail Ramendik wrote: > 2011/9/10 Artem Chuprina <[email protected]>: > > >> > if printf "%s" "$1" | grep '^[1-9][0-9]*$' >/dev/null 2>&1 > >> > then : > >> > else exit 1 > > Ну не понимаю я регулярные выражения :( Впрочем, я вообще предпочитаю > _читаемые_ языки. Из программистов в техписатели ушёл, когда C++ всех > победил (Python тогда ещё не было, а Дельфи уже уходили).
[skip] > Это да, но когда то, что требует в Питоне int(), в шелле требует > regexp, а иначе даже не упадёт нормально, мне становится непросто :) Ну вполне вариант if printf %d "$1" Попытка передать нечисловой аргумент формат-спецификатору %d от printf приведет к ошибке и ненулевому коду завершения. Обладает, правда, тем недостатком, что считает пустую строку нулем. Можно еще expr "$1" + 0 Это обломится и в случае пустой строки. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

