【问题标题】:Mac OS X /usr/bin/time verbose flagMac OS X /usr/bin/time 详细标志
【发布时间】:2015-09-11 04:19:28
【问题描述】:

我一直尝试在我的终端 (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 时间支持的唯一选项显示在错误消息中!
  • MacOS X 编译时不支持 -v 因为它是一个内置命令并且不支持 otion -v。
  • @abkrim,大卫A没有使用builtin time,他使用的是BSD time/usr/bin/time,这和builtin time不一样,只支持-p选项。这些都不支持-v 选项,如果他需要-v 选项,那么他将不得不通过一种或另一种方式安装GNU time。我使用 Xcode 命令行工具直接从source code 安装它,而无需使用自制软件或 macports ......这两者都需要安装 Xcode 命令行工具。
  • 嗯.. 我在我的 MacosX 上使用 XCode 和命令行工具,最新版本和时间版本不是 GNU 时间(man time show BSD General Commands Manual)

标签: macos bash time terminal


【解决方案1】:

如果你有自制软件,你可以通过安装 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...]

对于许多其他 OSX 的自制打包 GNU 实用程序来说,情况类似;例如,您可以使用gdf 获取GNU df 命令,使用gdu 获取du,使用greadlink 获取readlink 等。

其中大部分的自制软件包是coreutils,它安装了大约一百个不同的 GNU 风格的命令。其他有用的包:findutilsgnu-sedgnu-tar

如果您还没有安装自制软件,您只需一个命令即可获得它:

下载和安装自制软件的命令
ruby -e "$(curl -fsSL\
    https://raw.githubusercontent.com/Homebrew/install/master/install)"

【讨论】:

    【解决方案2】:

    我认为查看man page 的详细标志仅是 GNU。不幸的是,OSX 的实现完全不同。

    【讨论】:

      猜你喜欢
      • 2014-01-06
      • 2015-02-03
      • 2013-06-10
      • 2016-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-18
      相关资源
      最近更新 更多