Wie kann ich die Manpage für eingebaute Shell-Befehle leicht sehen?

11

Wenn ich einen Befehl in einem Skript sehe, den ich nicht kenne, und ich tippe (zum Beispiel) man pushdoder man umaskwenn ich die Manpage für eingebaute Befehle sehe. Ich weiß, dass ich man bashscrollen kann, um die Hilfe für diesen integrierten Befehl zu finden, oder ich kann einen Browser öffnen und zur Online-Bash-Manpage gehen, die einfacher zu suchen ist, aber es gibt eine einfachere Möglichkeit, die Manpage für a zu erhalten einzelner eingebauter Befehl direkt in der Kommandozeile?

Jhabbott
quelle

Antworten:

12

Vielleicht möchten Sie eine Wrapper-Funktion haben, die direkt zum eingebauten überspringt:

man -P "less +/\ \ \ pushd" bash

-Pweist den Menschen an, weniger als Pager zu verwenden (wahrscheinlich die Standardeinstellung auf den meisten Systemen), aber direkt eine Suche an ihn weiterzuleiten. Sie müssen vor der Suchzeichenfolge einige Leerzeichen einfügen, um Treffer im Text zu überspringen und zur Beschreibung des Befehls zu gelangen.

Machen Sie der Einfachheit halber eine Funktion daraus und fügen Sie sie in Ihre ~/.bashrc:

function manbash {
   man -P "less +/\ \ \ $1" bash
}

und benutze es gerne manbash pushd.


Eine andere Möglichkeit ist die Verwendung der eingebauten Bash help:

$ help pushd
pushd: pushd [-n] [+N | -N | dir]
Add directories to stack.

Adds a directory to the top of the directory stack, or rotates
the stack, making the new top of the stack the current working
directory.  With no arguments, exchanges the top two directories.

Options:
[...]
mpy
quelle
helpBefehl - perfekt, danke. Warum die man builtinsSeite dies nicht vorschlägt, weiß ich nicht!
Jhabbott
1
@jhabbott: Ich habe helpmich gerade entdeckt, als ich meine Antwort schrieb und überlegte, was ein guter Name für die Wrapper-Funktion wäre ... hm, hilf! Ok, lassen Sie uns zuerst prüfen, ob wir eine vorhandene Funktion überschreiben werden - et voilà;)
mpy
5

Wäre man bash-builtinshilfreicher? Sie können auch innerhalb von Manpages suchen, /indem Sie Ihren Suchbegriff drücken und eingeben.

Stefan Seidel
quelle
1

lesserkennt auch den Anker am Anfang der Linie ^und den gierigen Matching-Operator *.

man -P "less '+/^ *'pushd" bash

manbb() {
   man -P "less '+/^ *'${1}" bash
}

manbb pushd
charcs
quelle