본문 바로가기
IT/셸 스크립트

셸 스크립트 4. 옵션 처리

by 노오-력 2023. 2. 2.

셸 스크립트 실행 시 명령줄에 옵션을 넣을 수도 있다

셸 내부 명령어인 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