time
scheint im Allgemeinen auf meinem System zu arbeiten:Warum funktioniert `time` nicht auf` echo`?
➜ ~ time touch tmp.txt
touch tmp.txt 0.00s user 0.00s system 54% cpu 0.007 total
Doch scheint seine Ausgabe unterdrückt werden, wenn ich zu time echo
versuchen.
➜ ~ time echo
und die Handlung zu verdicken: es scheint, seine Fähigkeit, sich zu erholen echo
zu messen, vorausgesetzt, ich werfe, dass echo
in eine Pipeline:
➜ ~ time echo | xxd
00000000: f09f 8d94 0a .....
echo 0.00s user 0.00s system 38% cpu 0.002 total
xxd 0.00s user 0.00s system 88% cpu 0.003 total
Was ist los? Ist echo
Ausgabe auf time
Lieblings-Stream, ersetzt seinen Bericht?
Bonuspunkte für: Gibt es einen Weg (z. B. Stream-Umleitung) zu machen time echo
Ausgabe der üblichen Bericht?
Edit: Einige Kommentatoren haben darauf hingewiesen, dass ich zsh
verwende. Das habe ich damals nicht bemerkt, aber das erklärt viel.
bash
verwendet normale ausführbare Dateien zu tun time
und echo
.
bash-3.2$ which echo
/usr/local/opt/coreutils/libexec/gnubin/echo
bash-3.2$ which time
/usr/bin/time
(Sieht aus wie ich bin eine GNU-Version von echo
anstatt die vermutlich BSDs verwenden, /bin/echo
, das kommt mit Mac OS X).
Während zsh
bietet etwas wesentlich speziellere:
➜ ~ which echo
echo: shell built-in command
➜ ~ which time
time: shell reserved word
Beides sind normale ausführbare Dateien. Sehr interessant!
sieht es so aus, als ob Sie 'zsh' verwenden, nicht' bash'. – webb
Ich kann Ihr Problem nicht reproduzieren. Es funktioniert für mich wie erwartet mit macos sierra bash 3 und OEL 6.7 bash 4. – alvits
Funktioniert gut in Bash 3.2.52 und so ist es wahrscheinlich keine bash Frage –