时间命令的非法选项



我在使用时间命令time时遇到了一些问题。它工作正常,但由于时间在输出中给出了 3 个数字(真实、用户和系统),我正在寻找如何只获取用户时间。 我发现很多帖子说使用/usr/bin/time -f "%U"但我收到此错误:

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

我在键入时也找不到-f的选项man time

我试图跳过它并写:/usr/bin/time "%U",我得到了%U: No such file or directory

我已经安装了GNU-time,但没有任何变化。 问题出在哪里?

有几个time命令...


如果运行:

type time

并获得:

time is a shell keyword

这意味着您正在使用bash的内置 shell 命令,该命令不接受您想要的选项。与所有 shell 内置命令一样,此命令的help可以使用:

help time

如果运行:

type time

并获得:

time is hashed (/usr/bin/time)

这意味着您正在使用Apple提供的(类似BSD)time命令,该命令不接受所需的选项。这也是手册页中描述的那个。


如果您使用自制软件安装了gnu-time,则需要运行:

gtime

除非您没有将PATH设置为包含/usr/local/bin,否则如果您使用自制软件,则需要运行:

/usr/local/bin/gtime

并通过以下方式查看手册页:

man gtime

如果您想始终使用命令time代替gtime,并且我不建议这样做,则需要运行:

brew info gnu-time

并阅读它对设置的看法:

PATH="/usr/local/opt/gnu-time/libexec/gnubin:$PATH">

最新更新