Search

Getopts

각 글자는 허용할 옵션을 의미 (-a, -b 같은 것들)
글자 뒤에 :(콜론)을 붙이면 그 옵션은 값(argument)을 필요로 한다.
while getopts "옵션문자열" 변수; do case $변수 in ... esac done
Shell
복사
$OPTARG
옵션에 값이 있으면 이 변수에 저장됨
$OPTIND
현재 몇 번째 인수를 읽고 있는지 인덱스
while getopts ":abc:d:" option; do case $option in a) echo A option! ;; b) echo B option! ;; c) echo c: $OPTARG ;; d) echo d: $OPTARG ;; \?) echo what is this? ;; :) echo you need option value! ;; esac done
Shell
복사
실행 예시
./myscript.sh -a -b -c hello -d world # Result A option! B option! c: hello d: world
Shell
복사