我正在使用命令:
time gcc -lm test.c > time.txt
确定编译时间等,然后将它们写入文件。当我使用上述命令时,没有任何东西打印到文件中?
我哪里错了?
这取决于您使用的外壳。在 bash 中,time
是内置的,无法重定向。您必须使用子shell 来重定向其标准错误:
(time gcc -lm test.c ) 2> time.txt
这里的问题是有两个命令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
。