Ich bin gerade umgestiegen zsh
. Mir gefällt jedoch nicht wirklich, wie der time
eingebaute Befehl auch den Befehl ausgibt, dass es Timing ist. Ich bevorzuge die bash
Style-Ausgabe. Weiß jemand, wie man es umschaltet?
Zsh:
[casqa1:~/temp]$ time grep foo /dev/null
/usr/local/gnu/bin/grep --color -i foo /dev/null 0.00s user 0.00s system 53% cpu 0.004 total
Bash:
[casqa1:~/temp]$ bash
casqa1.nyc:~/temp> time grep foo /dev/null
real 0.0
user 0.0
sys 0.0
Vielen Dank,
/ YGA
TIMEFMT=$'\nreal\t%*E\nuser\t%*U\nsys\t%*S'
. Das*
s in den Flags formatiert sie als Stunden / Minuten pro Bash, anstatt nur als Sekunden. Mehr Infos dazuTIMEFMT
hier .Eine andere Möglichkeit besteht darin, den eingebauten Befehl zu deaktivieren und die von Ihrem Betriebssystem bereitgestellte Zeitbinärdatei zu verwenden. Ich habe folgendes in meinem
.zshrc
:Auf diese Weise wird die Zeit an STDERR ausgegeben.
quelle
Nur eine kleine Genauigkeit in Bezug auf Dennis Williamsons sehr nützliche Antwort (der "ziemlich enge" Teil): bashs eingebaute
time
Ausgänge anstderr
, während zshs Ausgänge anstdout
.Dieser Befehl kann den Unterschied veranschaulichen:
time (echo abc) 2>/dev/null
In der Bash gibt es aus:
In zsh mit der vorgeschlagenen TIMEFMT-Variablen:
quelle