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: