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

Re: шелл-скрипт квесчн.



На Thu, 25 Jan 2007 22:07:46 +0300
Artem Chuprina <ran@ran.pp.ru> записано:

> Alexander GQ Gerasiov -> debian-russian@lists.debian.org  @ 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 воспользуюсь, все равно этот скрипт для
баша.

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



Reply to: