편집 : 이 스타일은 GNU-ism이며 GNU 기반이 아닌 Unix는 단일 대시 구문 (특히 OS X 및 BSD 변형)을 사용하는 경향이 있음이 지적되었습니다.
GNU-ism 상태이지만 새로 작성된 많은 유닉스 스타일 프로그램은이 스타일을 사용합니다.
--long-option
긴 옵션 이름의 경우
-s
짧은 (한 문자) 옵션의 경우
-abc
인수가없는 여러 개의 짧은 옵션 (옵션 당 하나의 문자)
- 인수가있는 옵션 :
--long arg
또는 --long=arg
긴 옵션의 경우
-s arg
, -sarg
또는 (선택적으로) -s=arg
짧은 옵션. 마지막 옵션 에만 인수가있는 한 다른 짧은 옵션과 함께 사용할 수 있습니다 .
- 동일한 "의미 적"옵션은 여러 개의 별칭을 가질 수 있으며, 가장 일반적으로 짧고 (빠른 유형) 하나의 긴 (기억하기 쉬운) 별칭입니다.
일정 시간 동안 Linux 셸을 사용해 본 사람이라면이 스타일에 익숙해야합니다 1 . 긴 옵션으로 모호하지 않고 여러 개의 짧은 옵션을 그룹화하는 것도 좋습니다.
(1) 예를 들어, (내 리눅스 머신에)이 스타일을 사용하는 프로그램 중 일부는 : ls
, grep
, man
, sed
, bash
, 등 ( 편집 : 다음은, BSD와 OS X 머신이이 스타일을 사용하지 않는하지만 분명히 GNU-ISMS 있습니다)
당신이 구문 분석을 돌볼 수있는 몇 가지 라이브러리가 있습니다 (가장되는 잘 알려진 GNU의 구현 의 getopt는 ) 단지 길고 짧은 옵션들이 인수를 가지고 있는지, 존재와 때를 어떻게 수행 할 작업을 지정할 필요, 옵션이 발견되었습니다. (물론 위치 인수, 즉 -
이전 옵션으로 시작하지 않고 이전 옵션에 대한 인수가 아닌 인수에 대해 수행 할 작업 )
find
새로운 명령 행 구문을 사용하도록 쉽게 변경할 수없는 매우 오래된 프로그램 (또는 아마도 오래된 프로그램의 재 작성된 버전)입니다. 스크립트가 너무 많으면 기존 구문에 익숙한 사용자가 너무 많아서 불만을 나타냅니다. 역사적으로 인해 오래된 구문을 따르는 친구들과 javac
영향을 받았을 가능성이 높습니다 gcc
.