Имхо - лучше заменять "конфиг-строки целиком", а не значение параметра . У меня на баше был какой-то головняк для xml-овского синтаксиса ~/.config/rox.sourceforge.net/ROX-Filer/Options.
Но это я тогда пробовал "подставлять" значение параметра, беря его из "тела скрипта" и столкнулся с "чрезмерным закавычиванием" ( до того чтоб брать значения[ а точнее получается строки] из юзер-файла тогда вроде руки так и не дошли )
Да и в некоторых конфигах строки( содержащей параметр) может и не быть [пр.: ~/.icewm/prefoverride, ~/.links/links.cfg, ....]).
# на данное время пользую скрипты, где вставляются "строки" ( т.е. это пока "для себя". строки там беруться из "тела". юзер-файла и соответственно "диалога" пок нет).
про то, что "конфиг-строки целиком, а не значение параметра" - может быть и спорно - может нужно и "пересматривать"...
-----
Замечал по крайней мере на паре конфиг-файлах ( ~/.config/rox.sourceforge.net/ROX-Filer/Options и ~/.icewm/prefoverride) - если конфиг-файл воспринимается самой прогой как ошибочный - прога генерит "дефолтный-конфиг".
( и нет пока соображений "чего делать в этом случае"... - но, имхо, на данный момент некритично )
Кто-знает - может еще-какие подводные камушки могут повылазить(с учетом того что "структуры конфиг-файлов" разных прог устроены по-разному ).
-------
На данное время у меня пока представление о "юзкейзе" 'проги/скрипта-для-вставки-строк-в-конфигфайл':
- диалог выбора целевого-конфиг-файла(к.-либо проги) , затем диалог выбора "юзер-файла со строками настроек пользователя".
Как например оперировать с "группой(/~ами) конфиг-файлов" (в смысле чтоб "массово") более-менее четкого представления пока нет . Но тут
"пока не до жиру...".
Это мои размышления если смотреть "со стороны bash~а"
=========
? PB под 'dialog'[ или как-либо еще для диалога-выбора файлов в консоли] вообще впринципе можно( есть ли наработки)? - не единичны линукс-сборки(iso-хи) без Иксов ...