如何在文件中打印命令运行的时间?

时间:2015-02-14 14:30:13

标签: shell testing time

我想在文件中打印time的结果。

例如time ls -lRa /打印执行结束时的时间。我想在toto.txt

这样的文件中打印它

我试过了time ls -lRa / >> toto.txt,但我认为它也打印了ls的结果..

我有什么方法可以只打印时间并在标准输出中打印ls吗?

(目的是制作一个将在文件中打印的脚本:

testing ls -lRa / ...
real    1m14.999s
user    0m43.928s
sys     0m3.681s

2 个答案:

答案 0 :(得分:2)

是。假设您正在使用bash,则可以执行:{ time ls -lRa /; } 2> toto.txt

您还可以使用以下内容删除ls的输出(标准输出和标准错误):

{ time ls -lRa / > /dev/null 2>&1; } 2> toto.txt

答案 1 :(得分:1)

我不同意Pablo Antonio发布的答案,因为它将ls -lRa的任何错误输出重定向到文件toto.txt。试试这个:

time (ls -lRa / > /dev/null 2>&1) > toto.txt 2>&1

您也可以编写脚本,创建文件timePrint.sh,添加以下内容并运行chmod u+x timePrint.sh

#!/bin/bash
echo "testing $* ..." > toto.txt
time ($* > /dev/null 2>&1) > toto.txt 2>&1

然后像./timePrint.sh ls -lRa /

一样使用它