[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