【发布时间】:2012-02-22 03:24:38
【问题描述】:
有几篇文章讨论了将 time 命令输出重定向到文件。例如
(time my_program) 2> out
{ time my_program ; } 2> out
它们在 Linux 下工作,但在我的带有 Darwin Kernel Version 11.2.0 的 Mac OS X 机器上却不能工作。
(time my_program) 2> out
Badly placed ()'s.
{ time my_program ; } 2> out
{: Command not found.
}: Command not found.
time --version
--version: Command not found.
0.000u 0.000s 0:00.00 0.0% 0+0k 0+0io 0pf+0w
/usr/bin/time --version
/usr/bin/time: illegal option -- -
usage: time [-lp] command.
在我的Mac机下,有shell内置的time和/usr/bin/time。它们都没有提供 -o 选项。因为我的程序运行了几天,我想计时,如何将time的输出重定向到Mac OS X下的文件?
【问题讨论】:
-
它们在哪些方面不起作用?您是否有权在当前工作目录中创建
out文件?out文件是否已创建?它是空的还是包含数据?你用ls(1)之类的小程序和你的程序测试过吗? -
试试
time my_program >& out? -
/usr/bin/time 是什么版本?
-
在 OS X 10.7.3 下两者都适用于我。但是,如果您使用的是 OS X 11.2.0,那么您显然是在时光倒流,而您的
time命令可能会在尝试显示负的“实时”时间时出错。 -
Mac OS X 是带有 Darwin 内核版本 11.2.0 的最新 Lion。