【问题标题】:How to redirect time command output under Mac OS X如何在 Mac OS X 下重定向时间命令输出
【发布时间】: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。

标签: linux macos time redirect


【解决方案1】:

我意识到这真的很晚了,但是下面的命令对我有用。

{ time ls > command.output 2>&1 ; } 2> time.out

【讨论】:

    猜你喜欢
    • 2011-01-25
    • 1970-01-01
    • 2016-01-10
    • 2011-03-31
    • 2016-08-30
    • 2015-08-07
    • 1970-01-01
    相关资源
    最近更新 更多