Warum steht "Zeit" nicht im GNU Bash-Handbuch?

11
[fakename]$ help time
time: time [-p] pipeline
    Report time consumed by pipeline's execution...

Daraus timeergibt sich, dass es sich um einen eingebauten Bash handelt. Auf dieser Seite kann ich jedoch keine Beschreibung finden: https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html#Shell-Builtin-Commands . Warum ist das so?

extremeaxe5
quelle
1
Verwenden Sie, um type timezu sehen, was es ist.
Muru
man bashund dann einfach eingeben/time
George Vasiliou
und vergiss nicht, /usr/bin/timewas ähnlich wie Bash ist, timeaber anders ...
ivanivan

Antworten:

22

Es wird im Unterabschnitt "Shell Grammatik / Pipelines" der Bash-Manpage beschrieben . Es wird auch in dem Link beschrieben, den Sie im Abschnitt Pipelines angegeben haben , wo es unter "Reservierte Wörter" indiziert ist .

Pipelines

Eine Pipeline ist eine Folge von einem oder mehreren Befehlen, die durch einen der Steueroperatoren | getrennt sind oder | &. Das Format für eine Pipeline lautet:

[time [-p]] [ ! ] command [ | or |& command2 ... ] 

Die Standardausgabe des Befehls ist über eine Pipe mit der Standardeingabe von Befehl2 verbunden. Diese Verbindung wird vor allen durch den Befehl angegebenen Umleitungen ausgeführt (siehe Weiterleitung unten). Wenn | & verwendet wird, wird der Standardbefehlsfehler über die Pipe mit der Standardeingabe von Befehl2 verbunden. es ist eine Abkürzung für 2> & 1 |. Diese implizite Umleitung des Standardfehlers wird nach allen durch den Befehl angegebenen Umleitungen ausgeführt.

Der Rückgabestatus einer Pipeline ist der Exit-Status des letzten Befehls, sofern die Option Pipefail nicht aktiviert ist. Wenn Pipefail aktiviert ist, ist der Rückgabestatus der Pipeline der Wert des letzten Befehls (ganz rechts), der mit einem Status ungleich Null beendet werden soll, oder Null, wenn alle Befehle erfolgreich beendet wurden. Wenn das reservierte Wort! Vor einer Pipeline ist der Exit-Status dieser Pipeline die logische Negation des Exit-Status, wie oben beschrieben. Die Shell wartet, bis alle Befehle in der Pipeline beendet sind, bevor ein Wert zurückgegeben wird.

Wenn das zeitreservierte Wort einer Pipeline vorausgeht, werden die verstrichene sowie die von seiner Ausführung verbrauchte Benutzer- und Systemzeit beim Beenden der Pipeline gemeldet. Die Option -p ändert das Ausgabeformat in das von POSIX angegebene Format. Die Variable TIMEFORMAT kann auf eine Formatzeichenfolge festgelegt werden, die angibt, wie die Zeitinformationen angezeigt werden sollen. Siehe die Beschreibung von TIMEFORMAT unter Shell-Variablen unten.

Jeder Befehl in einer Pipeline wird als separater Prozess ausgeführt (dh in einer Unterschale).

NickD
quelle
5

Das Bash-Referenzhandbuch kann auf der Konsole mit angezeigt werden info. Anschließend kann ein Benutzer ein Schlüsselwort in Indizes suchen, indem er die Taste drückt, das Schlüsselwort ieingibt und die Taste drückt Enter. infospringt zum ersten Ort im Handbuch, der dem Schlüsselwort zugeordnet ist. Drücken Sie ,, um andere Orte zu erreichen. Weitere Informationen finden Sie im GNU-Info-Handbuch, online oder auf der Konsole unter info info. In der Tat ist es das Wichtigste, ein Schlüsselwort in einem Handbuch schnell zu finden, einen vorhandenen Index zu verwenden.

Die wesentliche Tatsache bei diesem Problem ist, dass time es sich nicht um ein eingebautes, sondern um ein von Bash reserviertes Wort oder Schlüsselwort handelt .

# Siehe auch

Fólkvangr
quelle
Ahhh, danke. Ja, das sehe ich jetzt mit type time. Sehen Sie, das ist jedoch interessant. help helpliefert "Informationen zu eingebauten Befehlen anzeigen" und hat dennoch Hilfeinformationen helpfür Schlüsselwörter?
extremeaxe5