質問

qsubを使用してクラスターでジョブを送信するには、次の方法があります:

 Submitting jobs from standard input
       To submit a PBS job by typing job specifications at the command line, the user types

              qsub [options] <return>

       then types any directives, then any tasks, followed by

              (in UNIX)     CTRL-D on a line by itself
              (in Windows)  CTRL-Z <return>

       to terminate the input.

bashスクリプトでRETURNおよびCTRL-Dをエンコードして、次のようなことができるようにする方法はありますか

for i in path/*.txt; do echo "$i";  qsub [RETURN] /path2/mycode $i; [CTRL-D]; done
役に立ちましたか?

解決

パイプ経由のリダイレクトを使用する必要があります:

for i in path/*.txt; do
  echo "$i";
  echo "/path2/mycode $i" | qsub;
done

他のヒント

echo / path2 / mycode $ iを試す| qsub

これが機能しない場合、またはより複雑なデータを渡す必要がある場合は、 expect 役立つかもしれません。

説明のためだけに(corvusの答えは正確に正しいため)-CTRL-Dは単に「ファイルの終わり」を意味します。または「入力の終わり」であるため、そのテキストをqsubにエコーすると、その後自動的にファイルの終わり信号が送信されます(CTRL-Dを押すのと同じです)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top