On Fri, Aug 04, 2006 at 06:20:33PM +0300, Andrew Kornilov wrote: > Проводится соцопрос на тему: "Нужна ли поддержка shell-переменных в > конфигурационных файлах etcnet". > То бишь, чтобы была возможность писать строки вида: > ipv4rule: > add from $FRIEND_NET1 table friend_net1 > ipv4route: > default via $ISP1_GW table friend_net1 > и т.д. и т.п. > А в файлах options уже задавать переменные как обычно: > FRIEND_NET1=1.2.3.0/24 > ISP1_GW=4.5.6.7 Тогда нужно как-то разграничить пространства имён для переменных, встроенных в etcnet и добавленных пользователем, чтобы исключить случаи, когда в новой версии etcnet добавляется какая-то новая переменная, и при этом ломаются старые конфигурации, где переменная с таким же именем использовалась для собственных целей. Вариант с использованием имён в нижнем регистре здесь не проходит из-за возможности конфликтов с локальными переменными функций etcnet, которые сейчас выглядят именно так (local в shell только сохраняет старое значение переменной, при этом доступ к старому значению пропадает до возврата из функции, где была использована команда local). > Я пытаюсь убедить Дениса, что это очень полезно и никаких проблем не > принесет (в firewall-коде я сразу такое сделал), он пока мне не очень > верит. В более-менее сложных конфигурациях (один из примеров которых я > на днях добавил в svn), когда много каналов, шлюзов, меняются IP и т.д., > весьма напряжно и неудобно каждый раз менять эти значения в десятке > разных файлов. > Поэтому и проводится это голосование, просьба ответить на hiddenman@ и > pilot@, можно просто "нужно", "не нужно", можно (и лучше :) с > аргументацией и приведением примеров из собственной практики. Подозреваю, что после добавления простых переменных захочется ещё и возможности засовывать в такие переменные более одного значения для автоматической генерации нескольких аналогичных строк.