На Thu, 25 Jan 2007 22:07:46 +0300
Artem Chuprina <[EMAIL PROTECTED]> записано:

> Alexander GQ Gerasiov -> [email protected]  @ Thu, 25
> Jan 2007 20:29:02 +0300:
> 
>  AGG> Хеллоу.
> 
>  AGG> Кто-нить скажите мне, как правильно написать на шелле следующую
>  AGG> вещь:
> 
>  AGG> #!/bin/sh
>  AGG> cmd1 | cmd2
>  AGG> if cmd1 закончилось с ошибкой;then
>  AGG>     exit 1
>  AGG> else
>  AGG>     exit 0
>  AGG> fi
> 
> 
>  AGG> Только очень не хочется для этого файлы создавать. Можно еще из
>  AGG> сабшелла SIG_USR1 послать, но тоже как-то кажется слишком
>  AGG> громоздким =\
> 
> Если именно на чистом sh, то, боюсь, это весьма сложный танец с
> перенаправлениями ввода-вывода, я его сходу даже и станцевать не
> готов. Если можно себе позволить bash, то у него есть специальный
> массив для кодов завершения всех команд в цепочке.
Во! точно! можно код возврата простым текстом мимо пайпа кинуть :)
Но я, пожалуй, set -o pipefail воспользуюсь, все равно этот скрипт для
баша.

Всем гран мерси.


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

Ответить