이건 후속작이야이전 질문ls
, Silverrocker는 또는 와 같은 명령 과 유사한 도움말 메시지를 표시하는 좋은 방법을 제안했습니다 du
.
program --help
Usage: program [<options>][<arguments> ...]
Options:
--help show this message, then exit
--something after some spaces for alignment, an explenation follows.
나는 이 접근 방식을 정말 좋아하지만 그러한 도움말 메시지를 생성하는 방법만 추측할 수 있습니다. 이와 같은 것을 생성하는 방법에 대한 GNU/문서/표준이 있습니까?
답변1
ls 및 du에서 --help 출력은 단순히 프로그램에 하드코딩됩니다.
Python과 같은 스크립팅 언어에는 자동으로 이 작업을 수행하는 옵션 구문 분석 라이브러리가 있을 수 있습니다.
표준에 관해서 내가 찾을 수 있는 유일한 것은 다음과 같습니다.
http://www.gnu.org/prep/standards/html_node/_002d_002dhelp.html#g_t_002d_002dhelp
또는 더 구체적으로 ls, du(coreutils):
http://www.gnu.org/software/coreutils/manual/html_node/Common-options.html#Common-options
이것은 전혀 도움이 되지 않습니다.
포맷을 얼마나 잘 하느냐에 따라 달라지는 것 같아요. :)
답변2
명령줄 유틸리티를 작성할 때 해당 형식으로 정보를 출력하는 함수를 만들고 usage()
, getopt(또는 기타) 코드에서 무언가를 추가하거나 변경할 때 이를 반영하도록 using 함수를 업데이트합니다. 물론, 이 시스템의 문제점은 게으르면 부정확한 사용법 메시지를 받게 될 수도 있다는 점이지만, 피하거나 수정하기 어려운 문제는 아닙니다.
지침에 따르면 "usage:" 줄은 매뉴얼 페이지 규칙을 따를 수 있습니다. 예를 들면 다음과 같습니다.
Usage: mycommand -h | [-x|y|z] [-a] [-b arg] required_param [optional_param]
파이프 표현은 어디에 있습니까 |또는(따라서 x, y 또는 z 중 하나를 사용할 수 있음) 및 선택적 비트를 대괄호로 묶습니다. ls에 따르면 이는 다음과 같이 단순화될 수 있습니다.
Usage: mycommand [options] required_param [optional_param]
그런 다음 옵션을 알파벳 순으로 찾아보세요.
-h
쓸모없는 옵션이 구문 분석되거나 사용되는 경우 --help
, 필수 매개변수가 누락되는 경우 등 의 경우 "사용"이 트리거됩니다.