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

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: