безопасно читать строки и значения массива из файла conf в скрипте bash - PullRequest
0 голосов
/ 20 января 2019

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

STRING_VARIABLE="some data"
ARRAY_VARIABLE=('/path/to/some folder' '/path to/another folder' '/yet/another/folder')

Вместо жесткого кодирования я хочу прочитать из файла конфигурации в /.script.conf.

Iзнать о source /.script.conf или . /.script.conf, но они не очень безопасны, так как они выполняют содержимое файла, и если кто-то поместит что-нибудь нечистое, например rm -rf /, то оно будет выполнено.

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

SOME_PREFIX_001="/path/to/some folder"
SOME_PREFIX_TWO="/path to/another folder"
SOME_PREFIX_HOME_DATA="/yet/another/folder"

... и затем преобразовать это в массив в моем скрипте, чтобы я мог использовать его как "${ARRAY_VARIABLE[@]}", Я в порядке с этим.

Моя первая мысль - использовать регулярные выражения для извлечения значений переменных, используя sed, но я не уверен, как это сделать или с чего начать.

...