Обновление файлов конфигурации в скрипте, который ссылается на них?

У меня нет проблем с добавлением файлов конфигурации в данный скрипт, но автоматическое их обновление – другое дело. В этом случае я предоставляю несколько переменных сценарию, и я хотел бы, чтобы сценарий мог изменять значения, предоставленные конфигурационным файлом. Есть ли стандартный способ изменить значение переменной в запущенном скрипте, а затем обновить файл конфигурации соответственно? Мой нынешний подход подходит для строки, содержащей переменную, и меняет ее содержимое, но я чувствую, что должен быть лучший способ.

Например, представьте себе программу, которая генерирует произвольный текстовый файл:
Строка в файле конфигурации, определяющая переменную, доступную для программы:

EXIT_ON_GEN="true" //exit on successful generation of text file if true 

Пользователь выбирает пункт меню, который указывает, что они хотели бы остаться в программе, потому что им нравится генерировать произвольный текст. Было бы просто просто установить для него значение false для текущего экземпляра программы, но как лучше всего изменить сам файл конфигурации, поэтому пользователю не нужно возвращаться и изменять настройки каждый раз, когда они запускают его?

One Solution collect form web for “Обновление файлов конфигурации в скрипте, который ссылается на них?”

Использование sed

Начиная с этого файла:

 $ cat >file EXIT_ON_GEN="true" //exit on successful generation of text file if true 

Один метод изменения true на false (и отображение новой версии на терминале) будет использовать sed:

 $ sed 's/^EXIT_ON_GEN=[^[:space:]]*/EXIT_ON_GEN="false"/' file EXIT_ON_GEN="false" //exit on successful generation of text file if true 

Чтобы вместо этого внести изменения в файл, используйте параметр -i :

 $ sed -i 's/^EXIT_ON_GEN=[^[:space:]]*/EXIT_ON_GEN="false"/' file 

Использование awk

 $ awk -F'"' -v OFS='"' '/^EXIT_ON_GEN/{$2="false"} 1' file EXIT_ON_GEN="false" //exit on successful generation of text file if true 
  • При обработке входных файлов происходит копирование / обновление и переименование действительного подхода?
  • Как сделать цикл для обработки двух входных файлов
  • Объединить файлы с двумя столбцами в один файл
  • Создание строк слов с разделителями пространства из вырезанного выражения
  • printf в сценарии оболочки can not do \ x% x
  • Обновление переменной среды в сценарии оболочки
  • проверьте, соответствует ли аргумент date в формате yyyy-mm-dd
  • Как удалить строку с переменным поиском с помощью команды sed
  • Проверка состояния настраиваемых служб со сценарием
  • Как захватить вывод из команды в сценарии оболочки
  • Используйте строки в файле для создания строки и имени файла
  • Linux и Unix - лучшая ОС в мире.