Kennt jemand ein Mittel, um vor jedem Befehl in einer Bash-Sitzung einen Zeitbefehl zu setzen?
command-line
bash
shell
jthoenes
quelle
quelle
Antworten:
Entschuldigen Sie die falsche Antwort, ich habe Ihre Frage missverstanden.
Um die Zeit vor jedem Befehl hinzuzufügen, den Sie auf der Shell ausführen, können Sie so etwas tun
Dadurch wird die Eingabetaste erneut gebunden. Jetzt wird jedes Mal, wenn Sie die Eingabetaste drücken, anstatt eine neue Zeile zu schreiben, an den Anfang der Zeile gesprungen. Geben Sie den Text 'time' und ein Leerzeichen ein, gehen Sie zum Ende der Zeile und geben Sie die neue Zeile ein, um die gewünschte Zeile zu erstellen bewirken.
Wenn Sie Ihre Eingabetaste nicht opfern möchten, können Sie eine zweite Benchmark-Eingabetaste wie F12 erstellen, indem Sie den Befehl wie folgt binden
Anstatt jetzt die Eingabetaste zu ersetzen, haben Sie F12 gebunden.
Der Hintergrund all dessen ist, dass bash GNU readline verwendet, um Befehle zu lesen. Readline wäre also ein guter Ausgangspunkt für weitere Befehlsmanipulationen usw.
quelle
Mir ist klar, dass dies außerhalb des Rahmens dieser Frage liegt, aber ...
In
zsh
(was meines Wissens eine super Menge von Bash ist), wenn Sie die folgende Variable in Ihrer.zshrc
Datei festlegen :Jeder Befehl, der länger als 5 Sekunden dauert (da bin ich mir ziemlich sicher), zeigt die Ausgabe von an
time
. Alle Befehle, die schneller ausgeführt werden, werden nicht ausgeführt. Und in solchen Fällen ist es einem eigentlich egal, also ist es schön, die Dinge nicht unübersichtlich zu machen. Es gibt auch viele andere coole Funktionenzsh
, die Sie vielleicht genießen werden, wenn Sie gerade dabei sind.quelle
Fügen Sie \ t in Ihre Eingabeaufforderungszeichenfolge ein. Die Uhrzeit wird an der Stelle, an der Sie sie eingeben, in Ihre Eingabeaufforderung aufgenommen. Siehe: http://www.ibm.com/developerworks/linux/library/l-tip-prompt/
quelle
PS1 scheint der Standard zu sein, um so etwas zu tun.
quelle
time
tut (es misst, wie lange es gedauert hat, bis ein Befehl ausgeführt wurde).