0

我正在使用命令:

time gcc -lm test.c > time.txt

确定编译时间等,然后将它们写入文件。当我使用上述命令时,没有任何东西打印到文件中?

我哪里错了?

4

2 回答 2

3

这取决于您使用的外壳。在 bash 中,time是内置的,无法重定向。您必须使用子shell 来重定向其标准错误:

(time gcc -lm test.c ) 2> time.txt
于 2013-05-09T11:45:53.133 回答
0

这里的问题是有两个命令time。一个是bash内置命令,另一个是常用的 Unix 命令。

$> type time
time is a shell keyword
$> type `which time`
/usr/bin/time is /usr/bin/time

如果你想使用bash内置的,你应该写成choroba 写的:

(time gcc -lm test.c ) 2> time.txt

但是,如果你想确保你的脚本即使内置不存在也能正常工作,你最好尝试强制使用真正的 time命令:

`which time` -o time.txt gcc -lm test.c

欲知更多详情,time请不要犹豫man time

于 2013-05-09T11:43:51.307 回答