NAME
getopt — 명 령 행 옵 션 분 석
SYNOPSIS
set −− `getopt optstring $*`
DESCRIPTION
Getopt 풀 그
림 은 쉘 스 크 립
트 파 일 안 에 서
그 쉘 스 크 립 트
의 명 령 행 옵 션
을 처 리 하 고 자
할 때 그 것 을 쉽
게 처 리 할 수 있
도 록 하 는 데 사
용 된 다 . optstring은
그 쉘 스 크 립 트
의 명 령 행 옵 션
들 이 다 ( getopt(3) 참 조 ).
이 때 , 콜 론 (:)이 오
면 , 그 앞 에 있 는
옵 션 은 그 옵 션
에 대 한 공 백 문
자 가 있 거 나 공
백 문 자 로 구 분
하 는 인 자 를 가
지 는 옵 션 으 로
간 주 한 다 (아 래
예 제 참 조 ). 특 수
하 게 , 옵 션 은 해
당 스 크 립 트 자
체 에 대 한 옵 션
은 끝 이 났 음 을
알 리 는 옵 션 이
다 .
Getopt 풀 그 림 은 다
음 에 오 는 내 용
들 은 그 스 크 립
트 의 옵 션 으 로
간 주 하 지 않 고 ,
스 크 립 트 의 명
령 행 인 자 ($1 $2
...)로 간 주 해 서 필
요 하 다 면 , 그 인
자 에 서 사 용 되
는 옵 션 으 로 처
리 할 수 도 있 다 .
이 해 를 쉽 게 하
기 위 해 아 래 예
제 를 살 펴 보 자 .
EXAMPLE
다 음 예 제 는 그 옵 션 만 으 로 사 용 되 는 [a] 와 [b] 옵 션 과 [o] 옵 션 과 함 께 이 옵 션 에 대 한 자 체 적 인 인 자 를 가 지 는 옵 션 을 처 리 하 는 한 쉘 스 크 립 트 의 부 분 이 다 .
set
−− `getopt abo: $*`
if test $? != 0
then
echo ’Usage: ...’ |
||
exit 2 |
fi
for i
do
case "$i" |
||||
in |
||||
−a|−b) |
||||
flag=$i; shift;; |
||||
−o) |
||||
oarg=$2; shift; shift;; |
||||
−−) |
||||
shift; break;; |
||||
esac |
done
이 상 과 같 이 작 성 되 었 을 경 우 에 는 다 음 과 같 은 명 령 행 명 령 이 사 용 될 수 있 다 :
cmd
−aoarg file file
cmd −a −o arg file file
cmd −oarg -a file file
cmd −a −oarg −− file file
SEE ALSO
DIAGNOSTICS
명 령 행 에 서 옵 션 이 잘 못 지 정 되 었 을 경 우 에 는 표 준 오 류 출 력 장 치 (/dev/stderr)로 그 해 당 오 류 메 시 지 를 출 력 한 다 .
HISTORY
Henry Spencer가 Bell Labs manual page에 서 일 할 때 만 들 었 다 . 그 래 서 , 이 풀 그 림 의 사 용 법 은 Bell version의 그 것 과 같 은 형 태 를 취 한 다 .
BUGS
getopt(3) 함 수 가 가 지 고 있 는 벌 레 는 모 두 가 지 고 있 다 . 이 풀 그 림 이 이 함 수 를 사 용 하 기 때 문 .
각 종 인 자 들 의 구 분 을 특 수 문 자 로 할 경 우 , 그 것 의 구 분 이 눈 으 로 는 구 분 되 지 않 는 다 (공 백 문 자 로 구 분 한 것 과 같 게 나 타 나 기 때 문 ). 만 약 인 자 구 분 을 특 수 문 자 로 했 을 경 우 에 는 오 류 를 발 생 할 수 도 있 다 . 이 것 은 쉽 게 발 견 되 지 않 는 오 류 이 다 . 참 고 할 것 .
오 류 메 시 지 의 처 리 는 쉘 에 서 표 준 오 류 출 력 장 치 로 보 내 는 것 보 다 , 쉘 스 크 립 트 안 에 서 자 체 적 으 로 그 에 맞 는 오 류 메 시 지 를 출 력 하 는 것 이 바 람 직 하 다 . 이 것 은 사 용 자 가 표 준 오 류 출 력 장 치 로 보 내 지 는 메 시 지 를 보 지 못 할 경 우 가 발 생 할 수 도 있 기 때 문 이 고 , 또 한 각 종 쉘 에 서 적 당 한 오 류 메 시 지 를 정 확 하 게 보 낸 다 는 보 장 이 없 기 때 문 이 다 .
BSD June 21, 1993 BSD