셸 스크립트 실행 시 명령줄에 옵션을 넣을 수도 있다
셸 내부 명령어인 getopts 명령어를 사용하면된다.
아래와 같이 sample6.sh를 만들고 chmod로 실행 권한을 주자.
#!/bin/sh
while getopts ab:c: OPT; do
case $OPT in
a) OPTION=a ;;
b) OPTION=b; ARG=$OPTARG ;;
c) OPTION=c; ARG=$OPTARG ;;
esac
done
shift `expr $OPTIND - 1`
echo OPTION: $OPTION
echo ARG: $ARG
echo '$1:' $1
getopts 명령어는 while과 case를 조합해서 사용한다.
while getopts 옵션1옵션2: OPT; do
인수가 필요한 옵션에는 뒤에 :를 붙여준다
위 예시를 보면
a는 인수가 없고 b: c: 는 인수가 필요하다.
a,b,c 옵션에 맞게 case문에서 각각 처리한다.
입력한 옵션의 인수는 OPTARG 변수에 저장된다.
OPTIND 변수는 getopts 명령어가 처리할 다음 인수 번호이므로
이 값에서 1을 뺀 만큼 shift 명령어로 당기면
옵션관련 부분을 건너 뛸 수 있다.
'IT > 셸 스크립트' 카테고리의 다른 글
셸 스크립트 5. 함수 (0) | 2023.02.03 |
---|---|
셸 스크립트 4. 반복문 (0) | 2023.02.01 |
셸 스크립트 3. 조건문 (1) | 2023.01.31 |
셸 스크립트 2. 변수 사용 (0) | 2023.01.30 |
셸 스크립트 1. 작성과 실행 (0) | 2023.01.29 |