대부분의 스크립트(주로 bash)에서는 다음과 같이 구성된 일부 매개변수를 보는 것이 일반적입니다.
bash-4.3:$ command --longer-argument -la
이것은 어디서 유래되었나요? 이것이 실제로 일관된 표준이 된 이유가 무엇인지 궁금합니다. 주로 가독성을 위한 것인가요?
또한 다음과 같은 것을 사용하지 않겠습니까?
bash-4.3:$ command -longer-argument
, 여기서 모든 CLI 매개변수는 대시로만 지정됩니까?
답변1
이것이 도움이 될 수 있습니다( tar
그러나 다른 프로그램에도 확장될 수 있다고 생각합니다).
https://www.gnu.org/software/tar/manual/html_section/tar_21.html
긴 옵션은 명확하고 기억하기 쉬워야 하며, 그 의미는 일반적으로 상응하는 짧은 옵션보다 식별하기가 더 쉽습니다(아래 참조). 예를 들어:
$ tar --create --verbose --blocking-factor=20 --file=/dev/rmt0
tar에 완전히 익숙하지 않은 사람들에게도 명령이 수행하는 작업에 대한 꽤 좋은 힌트 세트가 제공됩니다.
그리고 이 링크명령줄 인터페이스 표준.
다음은 GNU 긴 옵션에 대한 농담입니다:https://www.gnu.org/fun/jokes/long-options.en.html
일반적으로 실행하면 command -h/--help
명령에서 제공하는 옵션(짧은/긴)이 표시됩니다.
답변2
이중 대시가 긴 대시를 나타내고 단일 대시가 짧은 대시를 나타내지 않는 한 인수를 사용하여 옵션을 명확하게 할 수 없습니다.
-f file
... 인수 -f
가 있는 옵션을 의미합니다.file
...그리고 --ffile
논쟁이 없다면 완전히 다른 선택이 될 것입니다.