2016-05-30 6 views
0

私は4つのパラメータを渡す必要があるUNIXスクリプトに1つの関数を持っています。私がすべてのパラメータを渡している場合、UNIXスクリプトは正常に実行されますが、1番目のパラメータと3番目のパラメータを渡している場合、UNIXスクリプトは3番目のパラメータを2番目のパラメータとして受け取り、スクリプトは失敗しています。この問題を解決する方法を教えてください。Unixパラメータflow

ありがとうございます。あなたは、スクリプト内の関数呼び出しでパラメータを渡している場合::ちょうどコメントしているものをriteshに追加する

+0

このように空の2番目の空のパラメータを追加するだけです: '$ ./script.sh param1 '' param3' – ritesht93

答えて

1

-

function_name param1 '' param3 '' 

あなたはまだ$ 2、$ 4関数内で位置パラメータ(関数の引数)にアクセスすることができますNULLになります。

+0

ありがとうございます。それは非常に便利です。 Exの場合:ユーザーがこの機能を使用したいと考えていて、これについてわからない場合は、もう一度問題になります。関数では、スクリプトから2番目のパラメータまたは4番目のパラメータを渡した関数を理解するためのコードを書くことができます。 –

+0

質問を正しく理解していれば、特定のパラメータがnullかどうかを調べる関数内の単純な 'ifループ'が目的に役立つはずです。 – whirlcano

+0

関数pram1 parm4のようなコマンドを与えた場合、ifループに基づいてどのように動作するかを考えてみましょう。前もって感謝します。 –