[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