Bashに組み込まれている「ヘルプ」と名前を正確に一致させるにはどうすればよいですか?

Bashに組み込まれている「ヘルプ」と名前を正確に一致させるにはどうすればよいですか?

Bashの組み込みヘルプコマンドはhelp非常に奇妙なグロービングを実行しているようです。

  • help readreadreadarray、およびを示す文書ですreadonly
  • help rea?表示された文書のみread
  • help 'read$'動作しません。
  • help read | sed '/^read[^:]\+/,$d'とても愚かだ。

出力を得るためのより直感的な方法はありますかread

答え1

デフォルトはhelp foo実際には同じと思われますhelp foo*。ただし、いくつかの特別なワイルドカードを使用すると、末尾の*""は暗黙的に追加されません。

したがって、1つの可能性はです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読み取り組み込み機能に関するヘルプのみが提供されます。

関連情報