Como mbiber disse, source
outro arquivo. Por exemplo, seu arquivo de configuração (digamos, some.config
) seria:
var1=val1
var2=val2
E o seu script pode ser parecido com:
#! /bin/bash
# Optionally, set default values
# var1="default value for var1"
# var1="default value for var2"
. /path/to/some.config
echo "$var1" "$var2"
Os muitos arquivos em /etc/default
geralmente servem como arquivos de configuração para outros scripts de shell de maneira semelhante. Um exemplo muito comum de postagens aqui é /etc/default/grub
. Este arquivo é usado para definir opções de configuração para o GRUB, pois grub-mkconfig
é um script de shell que o origina:
sysconfdir="/etc"
#…
if test -f ${sysconfdir}/default/grub ; then
. ${sysconfdir}/default/grub
fi
Se você realmente precisa processar a configuração do formulário:
var1 some value 1
var2 some value 2
Então você poderia fazer algo como:
while read var value
do
export "$var"="$value"
done < /path/to/some.config
(Você também pode fazer algo como eval "$var=$value"
, mas isso é mais arriscado do que pesquisar um script. Você pode inadvertidamente quebrá-lo mais facilmente do que um arquivo originado.)