Re: шелл-скрипт квесчн.
On Fri, Jan 26, 2007 at 03:59:51PM +0300, Artem Chuprina wrote:
> >> { cmd1 || error=1 }|cmd2
> >>
> >> if test "$error" = 1; then ...
> AGG> Вот сразу видно, что ты даже не пробовал запускать.
> AGG> Во-первых ошибка синтаксическая, во-вторых, команда перед перед пайпом
> AGG> запустится в сабшелле и после пайпа error будет неопределен.
>
> А вот не надо грязи. {} - это в том же процессе. В отличие от ().
> Другое дело, что это опять не чистый sh, а в более других шеллах есть
> более прямые методы.
Там после {} еще и | стоит. Так что fork придется для субшелла сделать.
Невозможно в одном шелле иметь два разных stdin/stdout _одновременно_.
Как решить задачу без выполнения команд в background и именованной
трубки - не знаю.
WBR
Dmitri Ivanov
Reply to: