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"
、スクリプトを入手するよりもリスクが高くなります。ソースファイルよりも簡単に破損する可能性があります。)