[devel] [git pull] sisyphus_check changes
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Апр 23 19:12:10 MSD 2008
On Wed, Apr 23, 2008 at 07:01:00PM +0400, Alexey Gladkov wrote:
> Alexey Tourbin wrote:
> >'if' частично отрубает режим -e.
>
> Тут даже subshell не причём и set -e не поможет.
С другой стороны, субшелл отрбуает эффект -e с внешней стороны.
То есть можно написать
--- sisyphus_check/sisyphus_check- 2008-04-23 14:07:25 +0000
+++ sisyphus_check/sisyphus_check 2008-04-23 15:09:14 +0000
@@ -43,7 +43,8 @@ run_checks() {
check_var="$(printf '%s' "no_check_$check" |tr - _)"
if eval "[ -z \"\${$check_var-}\" ]"; then
- if ! (. "$sisyphus_check_d/$check" && run_check "$f"); then
+ (. "$sisyphus_check_d/$check" && run_check "$f")
+ if [ $? -gt 0 ]; then
[ -z "$fast_check" ] || return 1
rc=1
fi
Тогда всё что в субшелле будет выполняться в чистом -e режиме,
но статус субшелла не обрубает саму программу.
В общем, вопреки легенде, unix way изначально было не очень хоршо
продуман, и нужно им пользоваться острожно. Не злоупотреблять. :)
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20080423/38155ea3/attachment-0002.bin>
Подробная информация о списке рассылки Devel