Mac OS X /usr/bin/time 详细标志

16

我一直在尝试在终端(Bash)中使用详细信息标志 --verbose-v 运行 usr/bin/time 命令,但反复出现以下错误:

/usr/bin/time: illegal option -- v
usage: time [-lp] command.

我一直在运行的命令基本上看起来像这样:

/usr/bin/time -v python practice.py

有什么办法可以在Mac上正常运行吗?(我使用的是OS X Yosemite)?


正如您从输出中清楚地看到的那样,当使用非法选项时,BSD时间支持的唯一选项将显示在错误消息中! - user3439894
MacOS X编译时间不支持-v,因为它是一个内置命令,不支持选项-v。 - abkrim
@abkrim,David A没有使用builtin time,他正在使用BSD time/usr/bin/time,这与builtin time不同,只支持-p选项。两者都不支持-v选项,如果他需要-v选项,则必须通过某种方式安装GNU time。我直接从source code安装了它,使用Xcode命令行工具,而无需使用homebrew或macports...这两个都需要安装Xcode命令行工具。 - user3439894
嗯...我在MacOSX上使用最新版本的XCode和命令行工具,而且我的时间版本不是GNU时间(man time显示BSD通用命令手册)。 - abkrim
2个回答

21

如果您已经安装了Homebrew,可以通过安装gnu-time包来获取GNU time:

brew install gnu-time

之后,它将作为gtime命令可用:

$ gtime
Usage: gtime [-apvV] [-f format] [-o file] [--append] [--verbose]
       [--portability] [--format=format] [--output=file] [--version]
       [--help] command [arg...]

对于很多其他的自制GNU工具来说,情况也是类似的;例如,你可以使用gdf获取GNU df命令,gdu获取du命令,greadlink获取readlink命令等。

拥有大部分这些工具的homebrew软件包是coreutils,它安装了大约100个不同的GNU风格命令。其他有用的软件包包括:findutilsgnu-sedgnu-tar

如果您还没有安装homebrew,只需执行一个命令即可下载和安装:

下载并安装homebrew的命令
ruby -e "$(curl -fsSL\
    https://raw.githubusercontent.com/Homebrew/install/master/install)"

2
我认为查看man页面,详细模式标志仅适用于GNU。不幸的是,OSX的实现有所不同。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接