자체 작성된 도움말 파일을 얻으려면 옵션을 사람에게 전달하십시오.

자체 작성된 도움말 파일을 얻으려면 옵션을 사람에게 전달하십시오.

매뉴얼 페이지의 구문에 대해 질문이 있습니다.

저는 방금 소규모 프로젝트에 대한 맨페이지 형식의 문서를 작성했습니다. man commandname option 예를 들어 사용자가 git 문서에서처럼 입력할 수 있도록 하고 싶지만 man git commit어떻게 해야 할지 모르겠습니다. 나는 man()다음에서 함수를 정의하여 이를 수행하는 "더러운" 방법을 알고 있습니다 .bashrc.

man()
{
    case ${#} in
        0) /usr/bin/man ;;
        1) /usr/bin/man "${1}" ;;
        2) /usr/bin/man "${1}-${2}" ;;
        *) echo "Too many arguments" ;;
    esac
}

사용자가 에 옵션을 전달할 수 있도록 문서를 개선하는 방법을 누군가 말해 줄 수 있습니까 man?

답변1

man의 매뉴얼 페이지에서는 명령줄에 주어진 이름 쌍을 특별히 처리하는 방법을 설명합니다.

   --no-subpages
          By default, man will try to interpret pairs of manual page names
          given on the command line as equivalent to a single manual  page
          name  containing  a  hyphen or an underscore.  This supports the
          common pattern of programs that implement a  number  of  subcom-
          mands,  allowing  them to provide manual pages for each that can
          be accessed using similar syntax as would be used to invoke  the
          subcommands themselves.  For example:
            $ man -aw git diff
            /usr/share/man/man1/git-diff.1.gz

git.1.gz따라서 git이 제공하는 것과 같이 각 옵션에 대해 별도의 매뉴얼 페이지 파일을 제공하기만 하면 git-diff.1.gz원하는 것을 자동으로 얻을 수 있습니다.

답변2

이것은 이미 기능입니다만데부 사람들, Linux 배포판의 일반적인 구현입니다. ~에서man 1 man:

--no-subpages
  By  default,  man  will  try  to  interpret pairs of manual page names given on the
  command line as equivalent to a single manual page name containing a hyphen  or  an
  underscore.   This  supports the common pattern of programs that implement a number
  of subcommands, allowing them to provide manual pages for each that can be accessed
  using  similar  syntax  as would be used to invoke the subcommands themselves.  For
  example:

    $ man -aw git diff
    /usr/share/man/man1/git-diff.1.gz

따라서 당신이 해야 할 일은 적절한 이름의 맨페이지를 갖는 것뿐입니다 <command>-<subcommand>.

이는 다른 구현에서는 기능이 아닐 수도 있습니다. 예를 들어 macOS는 다음 man을 지원하지 않습니다.

~ man git commit
# shows git manpage
No manual entry for commit

관련 정보