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]

