it-swarm-ko.tech

"-"(이중 대시)의 의미는 무엇입니까?

compgen 명령에 --가 사용 된 것을 보았습니다.

예를 들면 다음과 같습니다.

compgen -W "foo bar baz" -- b

--의 의미는 무엇입니까?

518
dogbane

보다 정확하게 말하면, 대부분의 bash 내장 명령과 다른 많은 명령에서 이중 대시 (--)가 사용되어 명령 옵션의 끝을 나타내며 그 후에 위치 매개 변수 만 허용됩니다.

사용 예 : 문자열 -v에 대한 파일을 grep한다고 가정하십시오. 일반적으로 -v는 일치하는 의미를 바꾸는 옵션으로 간주되지만 (일치하지 않는 행만 표시) -- 다음과 같이 문자열 -v에 대해 grep 할 수 있습니다.

grep -- -v file
631
Guss

man bash에서 Shell Builtin Commands 섹션에서 읽을 수 있습니다.

달리 명시하지 않는 한,이 섹션에서 - 앞에 오는 옵션을 허용하는 것으로 문서화 된 각 내장 명령은 --옵션의 끝을 나타냄를 허용합니다.

:, true, falsetest 내장은 옵션을 허용하지 않으며 --를 특별하게 취급하지 않습니다. exit, logout, break, continue, letshift 내장은 다음으로 시작하는 인수를 승인하고 처리합니다. -없이 --. 인수를 허용하지만 옵션을 수락하도록 지정되지 않은 다른 내장은 -로 시작하는 인수를 유효하지 않은 옵션으로 해석하고이 해석을 방지하려면 --가 필요합니다.

echo--를 해석하여 옵션의 끝을 의미하지 않습니다.

48
kenorb

이것은 파라미터 (옵션) 목록의 끝을 표시합니다.

47
polemon

POSIX.1-2017

12.2 유틸리티 구문 지침

지침 10 :

옵션 인수가 아닌 첫 번째 -- 인수는 옵션의 끝을 나타내는 구분 기호로 허용되어야합니다. 다음 인수는 '-'문자로 시작하더라도 피연산자로 취급해야합니다.

http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html#tag_12_02

18
John Doe