Лучший способ прочитать конфигурационный файл в bash

Как сказал мбибер, source еще один файл. Например, ваш конфигурационный файл (скажем some.config) было бы:

var1=val1var2=val2

И ваш сценарий может выглядеть следующим образом:

#! /bin/bash# Optionally, set default values# var1="default value for var1"# var1="default value for var2". /path/to/some.configecho "$var1" "$var2"

Множество файлов в /etc/default обычно служат в качестве файлов конфигурации для других сценариев оболочки аналогичным образом. Очень распространенным примером из сообщений здесь является /etc/default/grub. Этот файл используется для настройки параметров конфигурации для GRUB, поскольку grub-mkconfig это сценарий оболочки, который является его источником:

sysconfdir="/etc"#…if test -f ${sysconfdir}/default/grub ; then  . ${sysconfdir}/default/grubfi

Если вам действительно необходимо обработать конфигурацию формы:

var1 some value 1var2 some value 2

Тогда вы могли бы сделать что-то вроде:

while read var valuedo    export "$var"="$value"done < /path/to/some.config

(Вы также могли бы сделать что-то вроде eval "$var=$value", но это более рискованно, чем поиск сценария. Вы могли бы непреднамеренно сломать его легче, чем исходный файл.)