Следующая команда проанализирует все подопции для option1
в файле file.conf
и сохранит их в массиве bash
.Затем к этим массивам легко получить доступ к параметрам.
#!/bin/bash
while IFS= read -r data; do
opt1+=( "$data" )
done < <( awk -F ' *= *' '$1 ~ /^option1/ { print $2 }' file.conf )
printf 'Option 1, sub-option 1 is "%s"\n' "${opt1[0]}"
Вывод:
Option 1, sub-option 1 is "yes"
Сценарий awk
вернет все после =
(и любых пробелов), чтопозволяет хранить данные, содержащие несколько слов.Обрабатываются только строки, начинающиеся с option1
в файле конфигурации.
Это может быть использовано для анализа всего файла конфигурации в единую структуру, возможно, с использованием ассоциативного массива в достаточно недавней версии bash
.