Re: Несколько вопросов вразброс
Артём Н. -> debian-russian@lists.debian.org @ Sat, 30 Jun 2012 09:50:07 +0400:
>> Ну, все-таки в шеллах традиционно используют . /path/to/config и
>> отдельный префикс для "своих" переменных. Зачитывают обычно не в каждой
>> функции, а один раз на скрипт.
АН> К чему, в итоге, я и пришёл.
АН> Ассоциативный массив - это замечательно.
АН> Но поддерживается только Bash. :-(
АН> А шелл, по умолчанию, всё-таки dash. Не хочется полагаться на "башизмы".
АН> И ещё в dash нет $LINENO и $FUNCNAME, что печально... :-(
Ну, шелл вообще не очень хороший инструмент для создания надежных
систем. Он не для этого предназначен.
>> Зачастую еще прикрыв проверкой на
>> определенность переменной вроде
>> if [ -z "$MY_VAR" ]; then . /path/to/config; fi
АН> Чтобы пользователь мог переопределить переменные перед запуском скрипта?
Нет, чтобы решить, что конфиг уже читали.
Чтобы пользователь мог переопределить - это надо внутри конфига делать
подобные проверки. На предмет чего у шеллов (у всех sh-derived) есть
прекрасная подстановка ${parameter:-word}, чтобы так длинно не писать.
Reply to: