さまざまな変数を取得するためにforループを使用するスクリプト

さまざまな変数を取得するためにforループを使用するスクリプト

グローバルスクリプトにまとめた複数のシェルスクリプトがあります。私はすべてのスクリプトで同じいくつかの変数を使用し、それについて各添え字から取得する別々のスクリプトを作成しました。私の変数スクリプトは次のとおりです。

variables.sh
NUMBER="6"
TYPE="${NUMBER}_xyz"
STATE="S05"
DIR="path/file_${NUMBER}_blabla"
FILE="file.txt"

私のグローバルスクリプトglobal.shは次のとおりです。

source variables.sh
bash script1.sh
bash script2.sh
...

変数スクリプトでNUMBER変数を変更し、グローバルスクリプトを実行し、番号を変更し、グローバルスクリプトを再実行する必要があります。 6-15のすべての数字について。現在、グローバルスクリプトが完了するたびに手動でこれを実行しますが、時間がかかります。

ベストアンサー1

まず、もはや無条件に設定されないようにvariables.sh調整する必要があります。NUMBER

NUMBER=${NUMBER:-6}

これにより、呼び出しプロセスから値を渡すことができます。

for((NUMBER=6;NUMBER<16;NUMBER++)); do
  source variables.sh
  bash script1.sh
  bash script2.sh
done

export総合:これが声明かset -a。なしで動作するという事実に驚きました。

おすすめ記事