예를 들어 사용 정보가 인쇄되는 경우
command -?
Unix 명령은 stderr 또는 stdout으로 이동합니다. 이유는 무엇입니까? 사용자가 옵션에 실수를 하면 같은 위치로 이동해야 합니까?
답변1
표준 출력으로 이동해야 하므로 다음을 입력할 수 있습니다.
command --help | less
이것도 에디터가 추천한거다Gnu 코딩 표준--help
.
반면, 유효하지 않은 옵션을 사용하거나 필수 인수를 생략할 때 수신되는 사용법 메시지는 오류 메시지이고 파이프라인의 다음 명령에 입력되는 것을 원하지 않기 때문에 stderr로 보내야 합니다.
사용법 메시지는 명령을 사용할 때 예상되는 일반적인 명령 출력입니다 --help
. 따라서 표준 출력으로 이동하므로 less
또는 같은 다른 명령으로 파이프될 수 있습니다 grep
.
이라고 말하면 command --bogus-option | other-command
표준 출력으로 보낼 메시지를 사용하고 싶지 않을 것입니다. 이제 메시지는 예상치 못한 출력이므로 처리하면 안 되기 때문입니다 other-command
. 또한 출력이 --help
몇 줄 이상인 경우 사용 오류 메시지에는 출력 요약만 포함되어야 하며 --help
사용자에게 --help
추가 세부 정보를 묻는 메시지가 표시되어야 합니다.