いくつかの別々のbashスクリプトがあります。彼らは異なる仕事をしており、規模が大きい(それぞれ70〜100行)。だから私はそれらを別々のファイルとして保存します。しかし、それらはすべて重要な問題に関連しているので、いくつかの継続的な価値を共有します。
したがって、単純にするために10個の定数変数があり、一部は文字列、一部は数字、2つは配列です。すべて10の異なるbashスクリプトで利用可能でなければなりません。どうやってこれを達成できますか?
これらの個々のbashスクリプトを呼び出すことができる中央の場所がありますが、必ずしもmain.sh
そうではありません。コマンドライン(./script1.sh
)から直接呼び出すこともできます。この場合でも、スクリプトで変数を使用できる必要があります。
私が考えることができる唯一の方法はファイルにコードを書くことで、ファイルを実行する必要があるたびに、dev/script1.temp.sh
ファイル全体で特定の定数()のすべての項目をbuild.sh
単純に置き換えるbashスクリプトを実行します。grep
$CONSTANT
build/script1.sh
ベストアンサー1
constants.env
たとえば、すべての定数をファイルに入れます。これらの定数を使用するすべてのスクリプトで. constants.env
その定数をロードする場所を指定してください。
たとえば、constants.env
:
HELLO=world
script.sh
#!/bin/bash
. constants.env
echo $HELLO
実行例:
$ ./script.sh
world