0

スクリプトで使用されている変数をセカンダリファイルに保持するにはどうすればよいですか?たとえばmyscript.env、スクリプトで使用するためにストア変数を使用しますmyscript.sh

myscript.envしたがって、変数を変更する必要があるときはいつでも、の代わりに編集できますmyscript.sh

4

2 に答える 2

0

これはごく普通のデザインパターンです。の線に沿って考える

myscript.sh:

#!/path/to/shell

CONFIG_FILE=myscript.env
CONFIG_DIR=`dirname $0`
# or e.g. CONFIG_DIR=/etc/myscript

CONFIG="$CONFIG_DIR/$CONFIG_FILE"
. $CONFIG

echo "SOMEVAR=$SOMEVAR"

myscript.env

SOMEVAR="The value of some var"

/path/to/myscript.sh出力しますSOMEVAR=The value of some var

于 2012-09-14T00:44:11.973 に答える
0

「ドット演算子」を使用してファイルを含めるだけです。

これらの2つのファイルが同じディレクトリにあると仮定すると、以下が機能します。

t.sh:

#!/usr/bin/sh

# Note the first dot on the following line
. ./t.env 
echo $TESTVAR

t.env:

TESTVAR="Hello world"

実行時:

~/tmp$ sh ./t.sh
Hello world
于 2012-09-14T00:50:13.787 に答える