プロが教える店舗&オフィスのセキュリティ対策術

次のようなシェルスクリプトを作り、バッチ処理で実行したいのですが、うまくいかず困っています。

%ls
test.sh
data
%less test.sh
#!/bin/sh
calc.exe input=$1

コマンドから通常実行するときは、
% test.sh data
でうまく行きます。

これを、qsubを使ったバッチ処理で実行しなければならなくて、

%qsub test.sh data

とすると、qsubは引数を1つしか取れないので、構文エラーとなり、うまく入力引数"data"を渡せません。

%qsub "test.sh data"
%qsub 'test.sh data'

で、引数を1つにしようとしましたが、ダメでした。

引数ファイル名"data"は、名前が変わるので、できるだけ可変になるようにしたいです。

どなたか、解決法もしくは、参考URLなど教えてください。

A 回答 (3件)

#2の方の回答の具体化ですが、



test.shを
#!/bin/sh
calc.exe input=$FILE
に直して、

% env FILE=data qsub test.sh

で。
    • good
    • 2
この回答へのお礼

ご教示ありがとうございます。

具体例を示して頂いて本当に助かりました。No.2様のご教示だけでは、イメージがわきませんでした。おかげさまで、

環境変数を引き渡すオプションをつけて、

qsub -V test.sh

とすることで、$FILEをうまく引き渡せて、うまくいっているようです(計算中)。qsubの仕様で、直接引数を渡せるかどうかも、引き続き調べてみようと思います。どうもありがとうございました。

お礼日時:2007/10/16 18:49

私が思いつく手っ取り早い方法は、test.shを以下のように改造することですね。


  「dataを引数で受け取る」
    ↓
  「dataを環境変数で受け取る」

どでしょ?
    • good
    • 0
この回答へのお礼

ご教示ありがとうございます。

すばらしいアイデアありがとうございます。No.3さんにもご教示頂き、環境変数を引き渡すオプションをつけて、

qsub -V test.sh

とすることで、うまくいっているようです(計算中)。引数を直接取れるかどうかも、引き続き調べてみようと思います。どうもありがとうございました。

お礼日時:2007/10/16 18:48

qsub の仕様がよくわからないんですが, 何らかの形で「標準入力から読ませる」ことはできないんでしょうか?

    • good
    • 0
この回答へのお礼

ご教示ありがとうございます。

環境変数については、
qsub -v オプションで渡すことができるようですが、
通常の引数については、まだ分かっていません。
マニュアルを探しているのですが、まだ分かりません。
PBS-Proについて、引き続き調べてみようと思います。

お礼日時:2007/10/16 18:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!