2017-05-05 17 views
0

私はcurlrently pythonスクリプトに引数を渡すcliコマンドを作成しようとしています。スクリプトシェル:いくつかの引数が渡された後で引数の数を可変にします。

例えば私のPythonスクリプトは、与えられたパラメータに基づいて実行されますが、ここで

./run.py <START-DATE> <END-DATE> -site <SITE-ID>(ranging from 1 to n) 

質問は、私は私のPythonスクリプトにbashスクリプトから変数を渡すことができますどのように、ありますか?

私が調査したことは、変数1、$ 2、$ 3などを使用して引数を取ることができ、いくつの引数が渡されるかわからない場合です。

問題はここにある、

<START-DATE><END-DATE>-siteはそれぞれ$ 1、$ 2、$ 3であるだけで1つの変数に固定されているので、どのように私は$ @だけ後$ 3使用することができます私の?

今の私のコードtest.sh:

#!/usr/bin/bash 

if [ $1 -ne "" ] && [ $2 -ne "" ] && [ $3 -ne "" ] && [ $4 -ne "" ]; //minimum 1 argument for site// then 
    /usr/bin/python2.6 run.py $1 $2 $3 
else 
    echo "Please insert the correct number of arguments" 

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

+0

「$ @をどうすれば使用できますか?」とはどういう意味ですか? – Malik

+2

'シフト;シフト;シフト; "$ @" ' – jordanm

+0

@Malik最初の3つの固定引数の後に、可変数の引数をとることを意味します。 – yunaranyancat

答えて

2

$#を使用すると、bashスクリプトに渡される引数の数を見つけることができます。すべてがうまくいけば、[email protected]を使ってすべての引数をPythonスクリプトに渡します。次のようなものがあります:

関連する問題