[devel] [git pull] sisyphus_check changes

Alexey Gladkov =?iso-8859-1?q?legion_=CE=C1_altlinux=2Eru?=
Ср Апр 23 19:11:08 MSD 2008


Alexey Tourbin wrote:
> 'if' частично отрубает режим -e.

Это относится к любым конструкциям, а не только к 'if':

$ cat ./z.sh
#!/bin/sh -e
( false; echo a; ) && echo b
{ false; echo a; } && echo b

$ ./z.sh
a
b
a
b

Учитывается только код возврата на верхнем уровне.

> $ sh -ec 'if (echo $-); then echo $-; fi'
> ehBc
> ehBc
> $ sh -ec 'if (false; echo a); then echo b; fi'
> a
> b
> $

в случае sisyphus_check проверка идёт по коду завершения функции:

$ cat ./z.sh
#!/bin/sh -e
zzz() { echo a; return 1; }
if (zzz); then echo b; fi

$ ./z.sh
a

-- 
Rgrds, legion




Подробная информация о списке рассылки Devel