Как сказал mbiber, source
еще один файл. Например, ваш файл конфигурации (скажем some.config
) будет:
var1=val1
var2=val2
И ваш скрипт может выглядеть так:
#! /bin/bash
# Optionally, set default values
# var1="default value for var1"
# var1="default value for var2"
. /path/to/some.config
echo "$var1" "$var2"
Многие файлы /etc/default
обычно служат аналогичными конфигурационными файлами для других сценариев оболочки. Очень распространенный пример из постов здесь /etc/default/grub
. Этот файл используется для установки параметров конфигурации для GRUB, поскольку grub-mkconfig
это сценарий оболочки, который его получает:
sysconfdir="/etc"
#…
if test -f ${sysconfdir}/default/grub ; then
. ${sysconfdir}/default/grub
fi
Если вам действительно нужно обработать конфигурацию формы:
var1 some value 1
var2 some value 2
Тогда вы можете сделать что-то вроде:
while read var value
do
export "$var"="$value"
done < /path/to/some.config
(Вы также можете сделать что-то подобное eval "$var=$value"
, но это более рискованно, чем поиск сценария. Вы можете непреднамеренно нарушить это легче, чем файл с источником.)