bashでジョブのシェルスクリプトの1つを実行するサードパーティのスケジューラがあります。
シェルスクリプトが呼び出されると、コマンドラインでスケジューラの環境変数を$1
などに設定します。$2
$3
スケジューラには次のものがあります。
FILE_PATH1="/opt/shared/script1.sh"
FILE_PATH2="/opt/shared/script2.sh"
PROCESS_ID="SYNC1"
TYPE_RELN_IDS="520"
したがって、私たちのスクリプトには次のものがあります。
export FILE_PATH1="$1"
export FILE_PATH2="$2"
...
export PROCESS_ID="${11}"
export TYPE_RELN_IDS="{$12}"
...
echo "PROCESS_ID =" $PROCESS_ID
echo "TYPE_RELN_IDS =" $TYPE_RELN_IDS
シェルスクリプトのランタイム出力の場合は、次のようになります。
PROCESS_ID = SYNC1
TYPE_RELN_IDS = {/opt/shared/script1.sh}
520の代わりにTYPE_RELN_IDS
。欠落している12番目の環境変数の制限に問題がありますか?
ベストアンサー1
12番目の変数のドル記号が間違った位置にあるようです。
export TYPE_RELN_IDS="{$12}"
しなければならないexport TYPE_RELN_IDS="${12}"