나는 알고 싶다:
- -q와 --quiet의 차이점은 무엇입니까?
- 어떤 상황에서 -q와 --quiet를 사용해야 합니까?
감사합니다!
답변1
많은 Linux/Unix 콘솔 애플리케이션에는 긴 옵션과 짧은 옵션이 있습니다. 확인해 보세요 man application
. 동일하다고 나와 있으면 동일한 것입니다. 무엇을 사용하는지는 중요하지 않습니다. 긴 옵션은 장황하고 읽기 쉽습니다.
답변2
그것은 모두 응용 프로그램에 따라 다릅니다. 응용 프로그램의 문서에 동등하다고 명시되어 있으면 동등합니다. 그렇지 않은 경우 -q와 --quiet는 모두 유효하지만 완전히 관련이 없을 수 있습니다.
명령줄 옵션은 순전히 규칙입니다. 인수를 통해 CLI 프로그램의 레거시와 충성도를 알 수 있는 경우가 많습니다. 프로그램에서 -q와 --quiet가 동등하다고 말하면 해당 개발자는 비록 깨닫지도 못할 수도 있지만 아마도 GNU에 푹 빠져 있는 것입니다.
이것이 GNU 문서라는 점은 주목할 가치가 있습니다:
단일 문자 Unix 스타일 옵션에 해당하는 긴 이름 옵션을 정의하십시오.이러한 방식으로 우리는 GNU를 더욱 사용자 친화적으로 만들기를 희망합니다.
https://www.gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
많은 오래된 Unix 프로그램에서는 이 작업을 수행하지 않습니다. 더 새로운 것들도 많지 않습니다.
세계에서 가장 인기 있는 웹 서버 중 하나인 nginx를 살펴보세요. nginx -h, 완전히 유효함, nginx --help, 큰 실수입니다.
나는 수년 전에 일부 mplayer 개발자가 작성한 게시물을 본 것을 기억합니다. 기본적으로 -q --quiet 규칙을 따르는 것은 폭정에 해당하며 그들은 그것을 가지고 놀지 않는다고 말했습니다.
답변3
이것은 더 많은 컨벤션입니다. 많은 도구에는 전체 쓰기 옵션과 단축 옵션이 있습니다.
이것은 대부분 선호의 문제입니다. 어떤 사람들은 간결함보다 가독성을 선호하며 그 반대의 경우도 마찬가지입니다.
~처럼테든이 언급됨문제의 도구에 따라 많이 달라지며 동일한지 확실하지 않은 경우 -q
항상 --quiet
맨페이지를 확인하세요.
또한 더 성숙하고 대규모 프로젝트일수록 더 완벽하고 신중하게 작업을 수행하는 경향이 있기 때문에 실질적인 일관성이 없습니다. 잘 알려지고 자주 사용되는 일부 도구에는 매개변수를 정의하는 이상한 방법이 있을 수 있으므로 이것조차도 논란의 여지가 많습니다.