时间命令的非法选项

时间:2019-04-04 09:31:24

标签: macos shell time gnu

我在使用时间命令time时遇到了一些问题。它工作正常,但由于时间在输出中给出了3个数字(实际,用户和sys),所以我一直在研究如何仅获取用户时间。 我发现很多帖子都说要使用/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,但是没有任何改变。有什么问题?

1 个答案:

答案 0 :(得分:3)

有几个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(如果您使用 homebrew ),那么在这种情况下,您需要运行:

/usr/local/bin/gtime

并使用以下内容查看手册页:

man gtime

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

brew info gnu-time

并阅读有关设置的说明:

  

PATH =“ / usr / local / opt / gnu-time / libexec / gnubin:$ PATH”