Próbuję zmierzyć czas za pomocą:
/usr/bin/time myCommand
Ponieważ jednak /usr/bin/time
pisze do stderr, jeśli myCommand również pisze do stderr, otrzymam więcej niż tylko dane wyjściowe czasu w strumieniu. Chcę zrobić, przekierować wszystkie dane wyjściowe myCommand do /dev/null
, ale nadal zapisywać dane wyjściowe czasu do stderr. Korzystając z przykładu myCommand, który pisze do stderr ls /nofile
, widzimy, że (oczywiście) nie ma żadnych danych wyjściowych z następującymi:
$ /usr/bin/time ls /nofile 2> /dev/null
$
Bez żadnego przekierowania widzimy zarówno dane wyjściowe z ls
(do stderr), jak i dane wyjściowe z czasu (także do 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
To, czego chcę, to coś, co po prostu produkuje:
$ /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
Jakieś pomysły?