Ich versuche, etwas zeitlich zu bestimmen, indem ich:
/usr/bin/time myCommand
Da jedoch /usr/bin/time
in stderr geschrieben wird und myCommand auch in stderr schreibt, wird mehr als nur die Zeit im Stream ausgegeben. Was ich tun möchte, ist, die gesamte Ausgabe von myCommand an umzuleiten /dev/null
, aber trotzdem die Ausgabe der Zeit an stderr zu schreiben. Anhand eines Beispiels myCommand , das in stderr von schreibt ls /nofile
, sehen wir, dass (offensichtlich) überhaupt keine Ausgabe mit folgendem Ergebnis erfolgt :
$ /usr/bin/time ls /nofile 2> /dev/null
$
Ohne Umleitung sehen wir sowohl die Ausgabe von ls
(nach stderr) als auch die Ausgabe von time (auch nach stderr):
$ /usr/bin/time ls /nofile
ls: cannot access /nofile: No such file or directory
0.00user 0.00system 0:00.00elapsed 0%CPU (0avgtext+0avgdata 3776maxresident)k
0inputs+0outputs (0major+278minor)pagefaults 0swaps
Was ich will, ist etwas, das einfach produziert:
$ /usr/bin/time ls /nofile > RedirectThatImAskingFor
0.00user 0.00system 0:00.00elapsed 0%CPU (0avgtext+0avgdata 3776maxresident)k
0inputs+0outputs (0major+278minor)pagefaults 0swaps
Irgendwelche Ideen?