Der Kommentar von @mpy war korrekt. Also formuliere ich meine Frage neu. Ich mag die REPORTTIME-Funktion in zsh sehr, aber sie gibt nur dann Zeit an, wenn die Benutzer- und Systemzeit laut $ REPORTTIME größer ist zsh doc . Gibt es eine Möglichkeit, zsh zu veranlassen, Zeit zu melden, wenn die Wandzeit größer als eine bestimmte Zahl ist, aber keine Zeit zu melden, wenn die Wandzeit unter dieser Zahl liegt?
Ursprüngliche Frage: Ich mag die REPORTTIME-Funktion in zsh wirklich, aber laut der zsh doc wird nur ausgegeben, wenn das Befehlsergebnis ungleich Null ist. Aber es gibt Fälle, in denen ein Befehl eine Weile dauert und fehlschlägt, und ich möchte wissen, wie lange es gedauert hat. Kennt jemand eine Möglichkeit, die Zeit für den Befehl auszudrucken, selbst wenn das Ergebnis fehlschlägt?
REPORTTIME
Wenn nicht negativ, ... ") bezieht sich auf$REPORTTIME
selbst, nicht den Rückgabestatus des Befehls. Beachten Sie, dass die Benutzer- + Systemzeit größer sein muss als$REPORTTIME
, nicht die Wandzeit. Sosleep 2
meldet selbst mit keine StatistikREPORTTIME=1
Antworten:
Die Funktionalität von
REPORTTIME
scheint schwer zu vergleichen zu seinusertime+systime
. Der relevante zsh Quellcode für dasREPORTTIME
Funktionalität:Als alternative Lösung können Sie Ihren zshrc ändern, um eine Funktionalität zu erhalten, die der von ahnlich ist
REPORTTIME
Gesamtlaufzeit verwenden.Leider gibt dieser Befehl nur die Gesamtlaufzeit an. Die Ausführungszeit wird nicht in Benutzer- und Systemzeit unterteilt.
quelle