如果您在 Ubuntu 18.04 中测量时间,结果将显示在一行中:
$ time sleep 1
sleep 1 0.00s user 0.00s system 0% cpu 1.003 total
这与 POSIX 标准不符,如time
手册页中所述:
-p, --portability
Use the following format string, for conformance with POSIX standard 1003.2:
real %e
user %U
sys %S
现在我的问题是:
为什么 Ubuntu 使用自己的格式来显示资源使用情况?
另外,我该如何改变这种行为?使用-p
上面引用的手册中的选项,我只得到以下错误:
$ time -p sleep 1
zsh: command not found: -p
-p sleep 1 0.00s user 0.00s system 73% cpu 0.002 total
答案1
你的错误是一个巨大的线索 -
zsh:未找到命令:-p
您使用的是 zsh,而不是 BASH 或 DASH。
time 的手册页与外部 /usr/bin/time 程序有关:bash 和 zsh 都提供了自己的 time shell 内置命令(恰好有一个等效的 -p 开关)
纠正@steeldriver 的评论
我在标准 Ubuntu 上使用默认 bash 获得了不同的结果 - 或者您无疑想要/期望的结果。
guiverc@d960-ubu2:~$ time -p sleep 1
real 1.09
user 0.00
sys 0.00