POSIX 표준의 "유틸리티 인수 구문"섹션 에서 채택되었습니다 .
utility_name [-a] [-b] [-c option_argument]
[-d|-e] [-f[option_argument]] [operand...]
예제의 유틸리티 이름은 utility_name
입니다. 그 다음에는 options , option-arguments 및 operands가 있습니다.
구성 인자 -
문자와 같은 단일 문자 또는 숫자는 a
,로 알려져 있습니다 옵션 (또는, 역사적, 플래그 ). 로 표시된 것처럼 특정 옵션 뒤에 option-argument 가 [-c option_argument]
있습니다. 마지막 옵션 및 옵션 인수 뒤에 나오는 인수는 operands 라고 합니다 .
이 표준은 또한 "인수"를 다음과 같이 정의합니다.
쉘 명령 언어에서 매개 변수 argv
는 exec
함수 중 하나에 의해 작성된 배열 의 단일 문자열과 동등한 것으로 유틸리티에 전달됩니다 . 인수는 명령 이름 뒤에 오는 옵션, 옵션 인수 또는 피연산자 중 하나입니다.
utility_name
명령 행에있는 모든 것은 유틸리티의 arguments 이며 쉘 스크립트 인 경우 위치 매개 변수 에 모두 표시됩니다 . option, option-argument 및 operand라는 용어는 명령 줄에서 이러한 인수에 대한보다 구체적인 이름입니다.
"플래그"및 "스위치"는 "옵션"의 일반적인 동의어입니다.
의 경우
utility -a b=c
-a
그리고 b=c
논쟁입니다
-a
유틸리티가 유틸리티를 인식하는 경우 옵션입니다 ( ln
유틸리티에는 -x
옵션 이 없으므로 엄격하게 말해서 진단 메시지를 트리거 할 수있는 -x
옵션이 아닙니다 ).ln
ln -x
b=c
옵션 인수 인 경우-a
옵션이 인수를 취 그렇지 않으면 피연산자입니다,
b
하고 c
있습니다 하지 자체 옵션, 옵션 - 인수하지 피연산자.
위의 텍스트에서 알 수 있듯이 (유틸리티 설명서에서 제공하는) 유틸리티 개요 에서 작업 하는 것이 명령 행에 입력 된 일반 명령을 디코딩하는 것보다 쉬웠을 것입니다. 매뉴얼에는 옵션 인수에 필요한 옵션과 피연산자 등의 인수가 명확하게 명시되어 있습니다.
c
"값" 을 부르는 것은 완벽하게 괜찮습니다. 표준화 된 것은 아니지만 "" c
이b
" 에 주어진 값 이라고 말하면 오해하는 사람은 거의 없습니다 . 해당 유틸리티의 맥락에서 분명합니다.
예를 들어
$ awk -v var="d" '...' data.in
에 대해 알고있는 누군가 awk
그 말을 -v var="d"
수단 " 변수 값 할당 명령 행을 ".awk
var
d