我正在尝试使用以下方法计时:
/usr/bin/time myCommand
但是,由于/usr/bin/time
写入stderr,所以如果myCommand也写入stderr,则在流上我将获得的不仅仅是时间的输出。我想做的是,将myCommand的所有输出重定向到/dev/null
,但仍将time的输出写入stderr。通过使用示例myCommand写入stderr 的示例ls /nofile
,我们看到(显然)在以下情况下根本没有输出:
$ /usr/bin/time ls /nofile 2> /dev/null
$
在没有任何重定向的情况下,我们既看到ls
(到stderr)的输出,也看到时间到(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
我想要的只是产生的东西:
$ /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
有任何想法吗?
我在脚本文件中使用时间命令。我想要在stdout中而不是stderr中输出时间。我怎么能得到这个?