[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