1

パラメーター値の範囲を取る一連の qsub ジョブを送信しています。次のループを実行して、これらの複数のジョブを送信します。-v を介して特定のパラメーター値を qsub に渡します。ジョブ名もこれらのパラメーターの関数にしたいと思います。

#!/bin/bash    
for a in 1 2
do
  for b in 1 2
  do
  echo "a is $a, b is $b"
      qsub -v a=$a,b=$b -N run_$a_$b run_file.sh
  done
done

run_file.sh には、プログラムを実行するための #PBS コマンドが含まれています。サーバーに送信すると、ループが正しく機能していることを示す次の出力が表示されます。

a is 1, b is 2

ただし、ジョブ名は最後のパラメーターでのみ表示されます

run_$b (i.e. run_2 for $b=2)

asの代わりに

run_$a_$b

ジョブ名に両方のパラメーターを含めるにはどうすればよいですか? 長さの問題ではないことを確認するために、ファイル名を短くしてみました。出力ファイルをチェックせずに、まだ実行中のファイルを追跡するために、名前を両方のパラメータとともに表示したいと考えています。助けてくれてありがとう。

4

2 に答える 2

0

このスクリプトを実際に実行することはできませんが、試してみてください: qsub -va=$a,b=$b -N run_${a}_${b} run_file.sh

これがあなたが探していたものであることを願っています

于 2013-07-18T22:56:58.520 に答える