16

QSub を使用して Bash スクリプトに変数を渡す際に問題が発生しています。

example という名前の Bash スクリプトがあるとします。例の形式は次のとおりです。

#!/bin/bash
# (assume other variables have been set)

echo $1 $2 $3 $4

したがって、ターミナルで「bash example.sh this is a test」を実行すると (それが役立つ場合は Ubuntu 12.04.3 LTS を使用しています)、「this is a test」という出力が生成されます。

ただし、「qsub -v this,is,a,test example.sh」と入力すると、何も出力されません。QSub が生成する出力ファイルを確認しましたが、「これはテストです」という行がどこにも見つかりません。

どんな助けでも大歓迎です。

ありがとうございました。

4

2 に答える 2

8

どのバッチ スケジューラを使用しているかはわかりませんが、PBSPro または SGE で送信すると、qsub example.sh this is a test必要なことが行われるはずです。

Torque バッチ スケジューラでは、(AFAIK) この方法でコマンド ライン引数をスクリプトに渡すことはできません。このようなスクリプトを作成する必要があります。

#!/bin/bash

echo $FOO

次に、次のようなコマンドで送信します。

qsub -v FOO="This is a test" example.sh
于 2013-10-18T08:36:40.217 に答える