[sisyphus] требуется тестирование: etcnet 0.8.6 experimental branch

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Сб Мар 10 21:07:02 MSK 2007


On Sat, Mar 10, 2007 at 07:05:44PM +0200, Andrew Kornilov wrote:
> Dmitry V. Levin wrote:
> > Честно говоря, меня не радует необходимость пробивать полный путь к
> > утилитам.  В /etc/init.d/functions есть функция absolute(), с помощью
> > которой можно обойтись именами утилит в сочетании с правильным PATH'ом.
> >
> > Думаю что для etcnet можно "изобрести" разновидность этой функции, которая
> > бы ничего не выводила в stderr, с тем чтобы использовать её таким образом:
> > DEFAULT_BRCTL="$(absolute bctrl)"
> >   
> Спасибо, идея хорошая, глянем, как лучше сделать. Вроде бы проблем 
> возникнуть не должно. Но как лучше реагировать на отсутствие утилиты?

Можно сделать так, чтобы в случае отсутствия утилиты функция absolute()
возвращала переданный ей параметр:

absolute()
{
	local path
	[ -n "${1:-}" ] || return 1
	if ! path="$(type -p "$1" 2>/dev/null)" ||
	   [ "$path" = "${path#/}" ]; then
		printf %s "$1"
		return 1
	fi
	printf %s "$path"
}

Правда тогда придётся заменять проверки вида
[ -x "$f" ]
на более сложные
[ "$f" != "${f#/" -a -x "$f" ]


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20070310/46ee2e25/attachment-0003.bin>


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