web-dev-qa-db-ja.com

bash組み込みコマンドの個別のマニュアルページを取得できますか?

すべての組み込みコマンドのマンページをダウンロードできる場所はありますか?

helpまたはman bashと検索して、その情報を検索しますが、それらを分離したいので、man readと読み取りのマンページを取得します。

55
Tyilo

これを試して:

_bashman () { man bash | less -p "^       $1 "; }
_

あなたは打つ必要があるかもしれません n コマンド名が最初のWordである段落ではなく、実際のコマンドに到達するまでに数回。

説明:これは、_man bash_の出力全体、つまりbashのmanページ全体(巨大なドキュメントであり、各bash組み込みコマンドを説明するサブセクションがあります)を読み取りプログラムlessにパイプします。 less '_-p_フラグは「パターン」を表します。これは、パターンに一致する入力テキストの最初のポイントまで自動的にスクロールします。ここのパターンは、「行の先頭(_^_)、特定の数のスペース、それに続く...」に一致する正規表現です。ここでは、bashがbashman関数に提供された最初の引数を挿入します、bashは、二重引用符で区切られた文字列内の特殊な_$1_トークン(「最初の引数」を意味する)を認識するため(単一引用符は、文字どおり_$1_を意味することをbashに伝えます)。したがって、_bashman cd_を実行すると、bashのmanページで、先頭に一連のスペースがあり、次に文字列 "cd"で始まる行が効果的に検索されます。 bashのマニュアルページ全体に、このパターンに一致する他のポイントがある可能性があるためbesides説明するセクションの実際の見出し、たとえば「cd」、この関数は実際には正しいbashのmanページの一部。

33
glenn jackman
help read
help read | less

Zshの場合:

run-help read

またはread somethingと入力してM-hを押します(つまり、Alt+hまたはESC h)。

コマンドが組み込みであるかどうかを知る必要がないように単一のmanコマンドが必要な場合は、~/.bashrcでこの関数を定義します。

man () {
  case "$(type -t "$1"):$1" in
    builtin:*) help "$1" | "${PAGER:-less}";;     # built-in
    *[[?*]*) help "$1" | "${PAGER:-less}";;       # pattern
    *) command -p man "$@";;  # something else, presumed to be an external command
                              # or options for the man command or a section number
  esac
}