26.06.2012 20:22 пользователь Артём Н. <artiom14@yandex.ru> написал:
>
> 26.06.2012 17:40, Artem Chuprina пишет:
> > Артём Н. -> debian-russian@lists.debian.org @ Mon, 25 Jun 2012 18:26:49 +0400:
> >
> > >> Если именно из конфига, то правильный подход - иметь один вход для
> > >> параметров, прочитанных из конфига. Там, где в языке есть встроенные
> > >> хэши, обычно удобнее хэш, где нету - специальную функцию, которую можно
> > >> позвать с именем параметра, а она вернет значение.
> > АН> Пожалуй, так и сделаю. Ассоц. массивы в bash есть. В dash, вроде, тоже
> > АН> поддерживаются.
> >
> > Ну, все-таки в шеллах традиционно используют . /path/to/config и
> > отдельный префикс для "своих" переменных. Зачитывают обычно не в каждой
> > функции, а один раз на скрипт. Зачастую еще прикрыв проверкой на
> > определенность переменной вроде
> >
> > if [ -z "$MY_VAR" ]; then . /path/to/config; fi
> >
> > А если проект настолько велик, что этот метод становится неуправляемым,
> > то его уже не надо писать на шелле - это там будет не самое
> > трудноуправляемое место, гораздо хуже будет с обработкой ошибок.
> Хм... Может, лучше сделать массив PARAMS и обычную загрузку через source?
> Т.е., грубо говоря, писать в конфиге не CFG_PARAM=123, а PARAMS[CFG_PARAM]=123...
>
>
А в чем разница? Букв в коде больше, удобство использование - одинаковое. Как по мне, в шелле удобнее всего читать параметры через source , ну и префикс чтобы был одинаковый. Ну и после чтения параметров выполнить проверку на валидность (отследить пустые, некорректные значения )
>