2016-08-03 3 views
0

안녕하세요 저는 getopts를 사용하는 bash 스크립트를 만들고 있습니다. 이제 "-h"매개 변수를 만들어 도움을 얻고 싶습니다. 하지만 매번 매개 변수에 하나의 인수를 주어야합니다.도움말 출력을위한 인수가없는 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 변수에는 옵션에 전달하는 인수가 들어 있습니다.

인수를 원하지 않으면 h 다음에 HELP=$OPTARG 줄 뒤에 :을 제거하십시오.

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

자세한 내용은 link을 확인하십시오.