この質問に対する答えをウェブで探していましたが、役立つものが見つからなかったので、探しているものが不可能だと感じましたが、何かを見逃したかもしれません...ここで尋ねてみます:
PBS ジョブ配列を送信するとき、各ジョブの WORKING DIRECTORY が配列 ID に依存するようにします。明確にするための小さな例。1 から 100 までの範囲のジョブ配列 ( qsub -t 1-100 -v $array_size=100 .... called_script.sh
) の場合、各ジョブには、bunk_1-100、bunk_2-100、....bunk_100-100 という独自の作業ディレクトリがあります。Atm$PBS_ARRAY_ID
変数と、配列サイズ ( ) を含む渡された変数を使用$array_size
して、適切なフォルダーに移動します。
called_script.sh
サブミットスクリプトによって呼び出されるスクリプト内の命名スキームを修正しているため、このソリューションは実際には最適ではありません。
したがって、ジョブを送信するときにジョブ配列 ID のプレースホルダーのようなものがある場合、つまり. したがって、それぞれの called_script.sh は、自動的に異なる変数を持つことになります。qsub -t 1-100 -v $somevar=/some/directory/path/bunch-#PBS_ARRAY_ID_PLACEHOLDER-100 ... called_script.sh
$somevar
理論的には可能だと思いますが、これは理論に過ぎないと感じました:)。
回答がある場合は、事前に Thx