getopt

getopt는 명령행 인자로 전달된 옵션을 편리하게 처리할 수 있도록 도와주는 함수이다.
getopt 함수로 옵션을 처리하기 위해서는 유닉스 명령어 기본 규칙을 준수해야한다.

 

getopt 관련 규칙

[규칙 3] 옵션의 이름은 한 글자여야 한다.
[규칙 4] 모든 옵션의 앞에는 하이픈(-)이 있어야한다. 이중 하이픈도 사용(--opt)
[규칙 5] 인자가 없는 옵션은 하나의 - 다음에 묶여서 올 수 있다.(예: -abc)
[규칙 6] 옵션의 첫 번째 인자는 공백이나 탭으로 띄고 입력해야 한다.(예: -l /usr/bin)
[규칙 7] 인자가 있어야 하는 옵션에서 인자를 생략할 수 없다.
[규칙 9] 모든 옵션은 명령의 인자보다 앞에 와야한다.(예: ls -a /usr/bin)
[규칙 10] 옵션의 끝을 나타내기 위해 --을 사용할 수 있다.

 

getopt 원형과 외부변수

man getopt를 통해서 확인 가능

 

사용 예시

getopt 참고

  • getopt는 옵션 문자나 옵션 인자 지정에 오류가 있을 경우 오류 메시지를 출력하고 물음표(?)를 리턴

opterr

  • 1로 설정 시 getopt에서 오류 출력
  • 0으로 설정 시 오류 출력 X

argv

  • optstring에 지정된 옵션과 동일한 문자가 있을 시 해당 문자를 리턴

optstring

  • 해당 문자에 콜론을 붙일 시 옵션 인자가 있는 것이다. (예: "i:o:" -> -i arg)

optarg

  • optstring의 옵션 인자값은 외부 변수인 optarg에 저장된다.

optopt

  • 오류를 발생 시킨 문자는 외부 변수인 optopt에 저장된다.

optind

  • 다음 처리할 argv의 주소를 저장한다. 초깃값은 1로 설정
  • 옵션과 인자당 1씩 증가한다.

0개의 댓글

관련 채용 정보