Re: Динамически включать-выключать CPU
On 2011.09.10 at 10:42:32 +0100, Mikhail Ramendik wrote:
> 2011/9/10 Artem Chuprina <ran@ran.pp.ru>:
>
> >> > 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
Это обломится и в случае пустой строки.
Reply to: