2017-03-27 111 views
0

5つのコマンドライン引数を受け取るスクリプト "example.sh"を実行しています。Qsubはスクリプトが動作しない:「コマンドが見つかりません」

これは正常に動作します:

./example.sh arg1 arg2 arg3 arg4 arg5 

をし、それは私が(または "./" なし)SGEクラスタ上で実行しようとすると、ファイルは今

をresult1.txt返します

qsub ./example.sh arg1 arg2 arg3 arg4 arg5 

これは結果を出力しません。 example.sh.eXXXXXXXファイルで

、私が取得:

arg1=1: Command not found. 
arg2=2: Command not found. 
... 
and so on. 

は、私はそれがqsubコマンドでは動作しない理由はわかりません。私はまた、

#!/usr/bin/env bash 

をスクリプトの先頭に挿入しました。私はstackoverflowとWeb上で見つけたさまざまなことを試してみましたが、これまで成功していませんでした(私は-Sと-Fフラグを試しました)。正しい方向に私を指摘するためにどんな提案もありがとうございます。

+0

私はちょっと調べて、2つのことを思いついています:1.あなたは太陽グリッドが 'bash'を提供していると確信していますか? (私はたくさんの 'csh'サンプルを見ましたが、' csh'の構文は 'bash'のものとは少し異なります。)2.追加のコマンドライン引数でサンプルを見つけることができませんでした。 manエントリ 'qsub [options] [command | - [command_args]] 'これはサポートされていないかのように見えます。解決策は簡単です:新しいスクリプトに_with_ argumentsというスクリプト呼び出しをラップします。 (私がここで提案したのは、過去30分で学んだことです。あなたが深刻な答えを得た場合は、このコメントを削除します)。 – Scheff

答えて

0

qsubは、そのようなあなたのシェルスクリプトの引数を受け入れないだろうが、これらのいずれかが動作します:

1)例えば、別のスクリプトに./example.sh arg1 arg2 arg3 arg4 arg5を入れてcommand.shを入力し、qsub command.shを実行します。

2)フルコマンドをqsubに標準入力として入力します(例:echo ./example.sh arg1 arg2 arg3 arg4 arg5 | qsub)。

関連する問題