Artem Chuprina wrote:
> Alexander GQ Gerasiov -> [email protected]  @ 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, а в более других шеллах есть
> более прямые методы.
Each command in a pipeline is executed as a separate process (i.e., in a
subshell).
from bash(1)

=\ скобки тут не при чем.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Ответить