web-dev-qa-db-ja.com

.shスクリプトで渡す引数

シェルスクリプトがありますfoo.shこれは qsub コンテンツのあるジョブです:

    #!/bin/bash -l
    #$ -S /bin/bash
    #$ -N $2
    echo $1

2つの引数を渡したいと思います。 qsub foo.sh a bを呼び出すと、最初の引数が正しく処理され、コマンドラインに「a」としてエコーされます。ただし、「#$-N」で始まる2番目のケースで引数を渡す方法がわかりません。この場合、$ 2は「b」に評価されませんが実際には「$ 2」が設定されます。助けていただければ幸いです。

8
user1137731

いいえ、できません。行の先頭にある#は、$ 2がスクリプトの引数に置き換えられないようにします。あなたがやろうとしていることをする方法は

qsub foo.sh -N <name>
2
dbeer

私のためにfuneを動作します。

-Nコマンドの意味はわかりませんが、

#!/bin/bash -l
#$ -S /bin/bash
#$ -N $2
echo $1
echo $2

sh foo.sh a bによって呼び出されるとすぐにエコーします

a
b
4
Saptamus Prime