J'essaie de chronométrer quelque chose en utilisant:
/usr/bin/time myCommand
Cependant, depuis l' /usr/bin/time
écriture sur stderr, si myCommand écrit également sur stderr, j'obtiendrai plus qu'une simple sortie de temps sur le flux. Ce que je veux faire, c'est rediriger toute la sortie de myCommand vers /dev/null
, mais toujours écrire la sortie du temps vers stderr. En utilisant un exemple myCommand qui écrit dans stderr de ls /nofile
, nous voyons (évidemment) qu'il n'y a pas de sortie du tout avec ce qui suit:
$ /usr/bin/time ls /nofile 2> /dev/null
$
Sans aucune redirection, nous voyons à la fois la sortie de ls
(vers stderr) et la sortie de temps (également vers 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
Ce que je veux, c'est quelque chose qui produit simplement:
$ /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
Des idées?