Bash에 내장된 "도움말"과 이름을 정확히 일치시키려면 어떻게 해야 합니까?

Bash에 내장된 "도움말"과 이름을 정확히 일치시키려면 어떻게 해야 합니까?

Bash 내장 도움말 명령이 help매우 이상한 글로빙을 수행하는 것 같습니다.

  • help readreadreadarray, 및 를 보여주는 문서입니다 readonly.
  • help rea?표시된 문서만 read.
  • help 'read$'작동하지 않습니다.
  • help read | sed '/^read[^:]\+/,$d'너무 어리석다.

출력을 얻는 더 직관적인 방법이 있습니까 read?

답변1

기본값은 help foo실제로 와 동일한 것으로 보입니다 help foo*. 그러나 일부 특수 와일드카드를 사용하면 *후행 ""가 암시적으로 추가되지 않습니다.

따라서 한 가지 가능성은 입니다 help [r]ead.

\<사용된 와일드카드는 파일 일치를 위해 쉘에서 사용되는 것입니다. 내가 아는 한 nor 와 동등한 것은 없습니다 \>.

답변2

작은 awk 스크립트를 통해 도움말 출력을 파이프합니다.

help () {
    builtin help "$1" |
    awk -F: -v command="$1" '
        p && /^[^[:space:]]/ {exit}
        $1 == command {p = 1}
        p
    '
}

이제 help read읽기 내장 기능에 대한 도움말만 제공됩니다.

관련 정보