2016-08-03 14 views
0

こんにちは私はgetoptsを使用するbashスクリプトを作成しています。 これでヘルプを得るために "-h"パラメータを作成します。 しかし、たびにパラメータに引数を1つ与える必要があります。ヘルプ出力の引数なしでgetoptsを使用する

Now 

test.sh -h test 

What I want 

test.sh -h 
help 
help 
help 



while getopts :c:s:d:h:I:p:r FLAG; do 
    case $FLAG in 


     s) 
       SOURCE=$OPTARG 
       ;; 
     d) 
       DESTINATION=$OPTARG 
       ;; 
     I) 
       ISSUE=$OPTARG 
       ;; 
     c) 
       CUSTOMER=$OPTARG 
       test -e /etc/squid3/conf.d/$CUSTOMER.conf 
       customer_available=$? 
       ;; 
     p) 
       PORT=$OPTARG 
       ;; 
     h)  HELP=$OPTARG 
       echo help 
+0

質問に入れてください。 $ OPTARGがこれよりも上になければ、何もしないでください。 – tso

+0

'getopts h:c:s:d:I:p:r FLAG; do' – anubhava

+0

申し訳ありませんが、質問が十分に明確ではありません。あなたが達成したいことが何であるか疑問にお答えください。 – sjsam

答えて

2

:オプションの後には、オプションに引数が必要です。

OPTARG variableには、オプションに渡す引数が含まれています。

引数を指定しない場合は、hの後に:を削除し、さらにHELP=$OPTARG行を削除します。

while getopts :c:s:d:hI:p:r FLAG; do 
... 
    h)  echo help 
... 
done 

さらに詳しくは、linkを確認してください。

関連する問題