複数の bash スクリプトに対して複数の定数を保持

複数の bash スクリプトに対して複数の定数を保持

いくつかの別々のbashスクリプトがあります。彼らは異なる仕事をしており、規模が大きい(それぞれ70〜100行)。だから私はそれらを別々のファイルとして保存します。しかし、それらはすべて重要な問題に関連しているので、いくつかの継続的な価値を共有します。

したがって、単純にするために10個の定数変数があり、一部は文字列、一部は数字、2つは配列です。すべて10の異なるbashスクリプトで利用可能でなければなりません。どうやってこれを達成できますか?

これらの個々のbashスクリプトを呼び出すことができる中央の場所がありますが、必ずしもmain.shそうではありません。コマンドライン(./script1.sh)から直接呼び出すこともできます。この場合でも、スクリプトで変数を使用できる必要があります。

私が考えることができる唯一の方法はファイルにコードを書くことで、ファイルを実行する必要があるたびに、dev/script1.temp.shファイル全体で特定の定数()のすべての項目をbuild.sh単純に置き換えるbashスクリプトを実行します。grep$CONSTANTbuild/script1.sh

ベストアンサー1

constants.envたとえば、すべての定数をファイルに入れます。これらの定数を使用するすべてのスクリプトで. constants.envその定数をロードする場所を指定してください。

たとえば、constants.env:

HELLO=world

script.sh

#!/bin/bash
. constants.env
echo $HELLO

実行例:

$ ./script.sh 
world

おすすめ記事