我想知道一个程序运行了多长时间,所以我尝试了“/usr/bin/time ./program >/dev/null”。
但很快我发现它显示程序的输出到标准错误。然后我尝试了“/usr/bin/time ./program >/dev/null 2>&1”,但是没有出现/usr/bin/time 的输出。
所以我的问题是,如何忽略程序的输出,并保留时间的输出。
非常感谢。
最佳答案
使用 -o
标志将输出发送到其他地方然后 stderr
.例如,如果您仍然希望它出现在屏幕上:
/usr/bin/time -o /dev/tty ./program >/dev/null 2>&1
或者,如果您想在
stdout
上输出非常糟糕:/usr/bin/time sh -c './program >/dev/null 2>&1'
或类似。但是,现在您还要测量 shell 启动进程的时间,这可能是也可能不是问题。
关于unix - 使用/usr/bin/time 时如何忽略程序的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4033327/