[devel] [git pull] sisyphus_check changes
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Апр 23 20:49:34 MSD 2008
On Wed, Apr 23, 2008 at 07:31:35PM +0400, Alexey Gladkov wrote:
> > К любым условным конструкциям, в которых "по смыслу" допустим
> >ненулевой код возврата. Поэтому "опасно" писать код типа
> >
> > if my_function ...; then
>
> Отнюдь. Это стандартное поведение shell. С твоей точки зрения
> получается что любая попытка обработать код возврата это опасная
> операция т.к. с ключом -e ты не сможешь обработать код возврата
> my_function кроме как условной конструкцией. :)
Стандартное поведение шелла неконсистентно. Это же влияет на
последовательность выполнения команд, обрывается последовательность
команд рано или обрывается последовательность поздно!
#!/bin/sh -e
my_function()
{
false
echo a
}
Если вызвано безусловно, то обрывается рано, а если вызвано условно,
то обрывается поздно. Такое "стандартное поведение" просто никто
никогда не продумал как следует, я считаю.
> Кстати, в "старом" sisyphus_check проверки выполнялись именно в 'if'.
> Так что regression я тут не сделал.
Ну как потенциальный автор новых скриптов-проверок я и спрашиваю:
выполняются ли скрипты-проверки в режиме -e или нет.
> >и рассчитывать на то, что my_function будет выполняться в режиме -e.
> думать о коде возврата нужно всегда самому иначе ты можешь получить
> неожиданный результат.
Думать нужно обо всём всегда и побольше. Только я наверное на шелле
больше ничего нового писать не буду.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?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/d058bc4e/attachment-0002.bin>
Подробная информация о списке рассылки Devel