时间命令的非法选项

Time command's illegal option

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

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

当我输入 man time

时,我也找不到选项 -f

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

我已经安装了 GNU-time 但没有任何改变。有什么问题?

有几个 time 命令...


如果你运行:

type time

并得到:

time is a shell keyword

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

help time

如果你运行:

type time

并得到:

time is hashed (/usr/bin/time)

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


如果你用 homebrew 安装了 gnu-time,你需要 运行:

gtime

除非你没有像使用 homebrew 那样将 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"