Linux / Befehl help: Hilfe für Bash-Built-ins lesen

help ist ein integrierter Befehl, mit dem Sie die Nutzung von integrierten Befehlen und Shell-Syntax, die von Bash bereitgestellt werden, überprüfen können. Funktionen, die Teil der Shell selbst sind, wie cd, read, alias und for, lassen sich schneller und genauer mit help überprüfen als mit man.

Die grundlegendste Verwendung ist help item. Sie können entweder eine einfache Syntax ansehen, eine kurze Liste von Beschreibungen erstellen oder sie in einem Format anzeigen, das einer Handbuchseite ähnelt.

Was ist der Befehl help?

Ein Bash-interner Befehl (builtin) ist eine Funktion, die direkt innerhalb des Shell-Prozesses ausgeführt wird. Befehle, die eng mit dem Zustand der Shell zusammenhängen, wie cd, das das aktuelle Arbeitsverzeichnis der Shell ändert, read, das Shell-Variablen liest, und alias, das Aliase verwaltet, sind typische Beispiele.

help bietet Unterstützung nicht nur für diese Bash-internen Befehle, sondern auch für Shell-Syntaxelemente wie if, for, while und [[. In anderen Shells als Bash können die Existenz von Befehlen und das Ausgabeformat abweichen.

Grundlegende Syntax und Anwendungsbeispiele

help [-dms] [pattern]

Wenn es ohne Argumente ausgeführt wird, gibt es eine Liste der internen Befehle und Syntaxelemente aus, für die Bash Hilfe bereitstellt.

help

Um detaillierte Hilfe für einen bestimmten Befehl anzuzeigen, geben Sie dessen Namen an.

help cd
help read
help printf

Sie können die Shell-Syntax auf dieselbe Weise überprüfen. Es ist sicher, einige Symbole in Anführungszeichen zu setzen, da die Shell sie möglicherweise zuerst interpretiert.

help if
help for
help '[['

Hilfeoption

Option Beschreibung
-d Gibt nur eine kurze Beschreibung jedes Elements aus.
-m Zeigt Hilfe in einem Format ähnlich einer Handbuchseite an.
-s Gibt nur ein einfaches Nutzungsformat (Synopsis) des Befehls aus.

Beim Schreiben von Skripten und schnellen Überprüfen der Argumentplatzierung ist -s nützlich.

help -s read
help -s getopts

Verwenden Sie -d, wenn Sie eine einfache Liste von Beschreibungen benötigen, und -m, wenn Sie detaillierte Erklärungen getrennt in Absätzen benötigen.

help -d cd
help -m cd

Mehrere Hilfe-Themen mit einem Muster finden

Suche nach Präfix

Wenn keine genaue Übereinstimmung gefunden wird, sucht Bash nach Hilfe-Themen, die dem eingegebenen Muster und Präfix entsprechen. Zum Beispiel kann der folgende Befehl Elemente anzeigen, die mit comp beginnen, wie compgen, complete und compopt.

help comp

Verwendung von Platzhaltermustern

Wenn das Muster Shell-Musterzeichen enthält, werden alle passenden Hilfe-Themen angezeigt. Setzen Sie das Muster in Anführungszeichen, um zu verhindern, dass es zuerst auf Dateinamen im aktuellen Verzeichnis erweitert wird.

help 'read*'
help '*dir*'

Sie können auch die gesamte Liste mit grep durchsuchen, aber die Verwendung der Musterfunktion von help zuerst ermöglicht es Ihnen, Ergebnisse basierend auf den Namen der Hilfethemen zu erhalten.

Verwendung von Hilfe nach der Bestätigung, dass es ein eingebauter Befehl ist

Wenn Sie sich nicht über die Art des Befehls sicher sind, überprüfen Sie mit type. Wenn das Ergebnis shell builtin ist, liefert help oft die direkteste Erklärung.

type cd
type printf
type ls

Sowohl Bash-interne Befehle als auch externe ausführbare Dateien können existieren, wie printf. Um alle möglichen Ziele zu überprüfen, die tatsächlich ausgeführt werden könnten, können Sie Folgendes ausführen.

type -a printf

help printf erklärt das Bash-Built-in printf. Wenn Sie das Verhalten eines externen Programms wissen möchten, müssen Sie die --help oder das Handbuch dieses ausführbaren Programms überprüfen.

Unterschiede zwischen help, --help und man

Methode Geeignetes Ziel Funktionen
help item Bash-Built-in-Befehle und Shell-Syntax Erklärungen direkt von der aktuellen Bash bereitgestellt
command --help Externe Programme und einige Built-in-Befehle Schnelles Überprüfen der Kurzsyntax und Optionen
man command Befehle, Dateiformate, Systemaufrufe usw. Überprüfen Sie die installierte Man-Seite im Detail
info command GNU-Programme, die Info-Dokumente bereitstellen Navigieren Sie durch lange Dokumentationen mit Knoten und Index

`cd --help kann die Hilfe für den integrierten Befehl cd in Bash anzeigen, aber Sie sollten nicht erwarten, dass dieselbe Methode für alle Shells oder alle integrierten Befehle funktioniert. Es ist klarer, Bash-eigene Befehle basierend auf help` zu überprüfen.

Praktische Anwendungsbeispiele

Überprüfung verschiedener Optionen von read

`read` hat viele Optionen wie Eingabe, Timeout, Trennzeichen und Arrays. Überprüfen Sie zuerst das Nutzungsformat, und finden Sie dann die erforderlichen Optionen in der detaillierten Beschreibung.

help -s read
help read

Überprüfung der Syntax für bedingte Anweisungen und Schleifen

Reservierte Wörter und zusammengesetzte Befehle in Shell-Skripten können ebenfalls als Hilfethemen dienen.

help if
help while
help for
help case

Ausgabe an eine Pipe oder Datei senden

Die Ausgabe von `help` wird an die Standardausgabe gesendet, sodass sie mit einem Pager gelesen oder in einer Datei gespeichert werden kann.

help -m read | less
help -m read > read-help.txt

Die in einer Datei gespeicherte Erklärung basiert auf der Hilfefunktion der Bash-Version zu dieser Zeit, überprüfen Sie daher die Bash-Version Ihrer Umgebung, bevor Sie sie unverändert auf ein anderes System anwenden.

Überprüfung von Hilfsergebnissen in einem Shell-Skript

Wenn das angeforderte Hilfethema existiert, gibt es in der Regel einen Exit-Status von 0 zurück, und wenn kein passendes Thema existiert, gibt es einen Wert ungleich null zurück. Sie können dies verwenden, um zu überprüfen, ob ein bestimmter Hilfeeintrag existiert.

if help mapfile >/dev/null 2>&1; then
 printf '%s\n' 'You can use mapfile help.'
else
 printf '%s\n' 'Could not find mapfile help in the current shell.'
fi

Wenn der Zweck jedoch darin besteht, die Unterstützung von Funktionen zu überprüfen, ist es zuverlässiger, type, command -v zu verwenden oder einen tatsächlichen Funktionstest durchzuführen, anstatt die Ausgabe von help zu analysieren. Dies liegt daran, dass der Hilfetext je nach Übersetzung und Bash-Version variieren kann.

Häufig gestellte Fragen

Warum meldet help, dass keine Hilfethemen übereinstimmen?

Der eingegebene Name ist entweder kein Bash help-Thema oder wird in der aktuellen Bash-Version nicht bereitgestellt. Überprüfen Sie den Befehlstyp mit type name, und wenn es ein externes Programm ist, verwenden Sie command --help oder man command.

help funktioniert in sh-Skripten nicht

help ist ein Bash-Builtin-Befehl. Wenn /bin/sh auf eine andere Shell als Bash zeigt oder wenn Bash im POSIX-Modus läuft, erhalten Sie möglicherweise nicht die erwarteten Ergebnisse. Wenn Ihr Skript Bash-Funktionen verwendet, sollten Sie den Interpreter und die Ausführungsumgebung klar angeben.

Es ist derselbe Befehl, aber die Erklärungen in help und im Handbuch sind unterschiedlich.

Builtin-Befehle und externe Programme können denselben Namen haben. Sie können die Kandidaten mit type -a name prüfen; für Bash-Builtin-Befehle verwenden Sie help, und für externe ausführbare Dateien lesen Sie das Handbuch des Programms.

Muss ich help separat installieren?

Nein. help ist ein integrierter Bash-Befehl, daher ist er in Bash enthalten. Wenn die aktuelle Shell nicht Bash ist, existiert derselbe Befehl möglicherweise nicht oder seine Funktionalität kann abweichen.

Kann ich mit help alle Linux-Befehle durchsuchen?

Nein. Das Hauptziel von help sind Bash-eigene Befehle und Shell-Syntax. Für externe Befehle verwenden Sie --help, man, info oder die offizielle Dokumentation.

Welche Option sollte ich verwenden, um nur eine einfache einzeilige Syntax zu sehen?

Verwenden Sie help -s item. Wenn Sie auch eine kurze Beschreibung benötigen, verwenden Sie -d, und wenn Sie ein handbuchartiges Format benötigen, verwenden Sie -m.

Zusammenfassung

help ist das direkteste Werkzeug, um Bash-Built-ins und Shell-Syntax zu überprüfen. Sie können detaillierte Erklärungen mit help item lesen, nur die Syntax mit -s überprüfen und Muster verwenden, um verwandte Elemente zusammen zu finden.

Wenn Sie sich über die Art eines Befehls nicht sicher sind, überprüfen Sie ihn zuerst mit type. Verwenden Sie --help und man für externe Programme, und andere grundlegende Befehle finden Sie in der Liste und Übersicht der Linux-Befehle.

Verweisen Sie auf offizielle Dokumente