Як сказав 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", але це ризикованіше, ніж джерело скрипту. Ви можете ненароком зламати це простіше, ніж джерело, який ви отримаєте.)