[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: шелл-скрипт квесчн.



Alexander GQ Gerasiov -> debian-russian@lists.debian.org  @ Fri, 26 Jan 2007 10:10:12 +0300:

 >> > #!/bin/sh
 >> > cmd1 | cmd2
 >> > if cmd1 закончилось с ошибкой;then
 >> >     exit 1
 >> > else
 >> >     exit 0
 >> > fi
 >> > 
 >> > Только очень не хочется для этого файлы создавать. Можно еще из
 >> > сабшелла SIG_USR1 послать, но тоже как-то кажется слишком
 >> > громоздким =\
 >> 
 >> { cmd1 || error=1 }|cmd2
 >> 
 >> if test "$error" = 1; then ...
 AGG> Вот сразу видно, что ты даже не пробовал запускать.
 AGG> Во-первых ошибка синтаксическая, во-вторых, команда перед перед пайпом
 AGG> запустится в сабшелле и после пайпа error будет неопределен.

А вот не надо грязи.  {} - это в том же процессе.  В отличие от ().
Другое дело, что это опять не чистый sh, а в более других шеллах есть
более прямые методы.

-- 
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru

Юзер упорствует в хождении по граблям. Образовавшиеся шишки он считает
трудовыми мозолями. (С)энта



Reply to: