ジョブ配列内のジョブのインデックスをパラメーターとして別の bash スクリプトに渡そうとしています。
numSims=3
numTreatments=6 # uses numTreatments top rows of parameters.csv
maxFail=10
j=1
while [ $j -le $numSims ];
do
bsub -q someQueue -J "mySim[1-$numTreatments]%2" ./another_script.sh $LSB_JOBINDEX $j $maxFail
let j=j+1
done
numTreatments
ここでの究極のアイデアは、1,... ,numSims
ジョブ (シミュレーション)ごとに送信することです。一度に 2 つのジョブを実行したい ( %2
)。出力の形式は XX_indexNumber_simNumber です。ここで、indexNumber は 1,... からnumTreatments
、simNumber は 1,..., から実行されますnumSims
。
理想的には、このスクリプトの一部として送信されるすべてのジョブ ID が同じである必要があります。これはまだ正しく設定されていません。同じj
ものを持つすべてのジョブに個別のジョブ ID が割り当てられているためです。私の差し迫った問題は、another_script.sh が$LSB_JOBINDEX
入力として認識されないことです。つまり、 $j
and$maxFail
が渡された最初の 2 つのパラメーターのみとして認識されます。の代わりに他の変数を入れても$LSB_JOBINDEX
問題ありません。私は何を間違っていますか?
編集- 私が試したいくつかのこと: "$LSB_JOBINDEX"
、${LSB_JOBINDEX}
、%I
、およびI=$LSB_JOBINDEX; bsub ... $I $j $maxFail