zsh `time` 不适用于 `source`

zsh `time` 不适用于 `source`

我可以用它time来获取运行时间统计数据:

% time zsh --version
zsh 5.6.2 (x86_64-pc-linux-gnu)
zsh --version  0.00s user 0.00s system 86% cpu 0.005 total

如何计算源脚本的运行时间?

% time source $NVM_DIR/nvm.sh
%

答案1

似乎zsh不支持时间内置命令。

time尝试使用支持作为保留字的shell (这适用于zsh还支持对内置命令进行计时(这不适用于zsh)。

顺便说一句:这适用于ksh88ksh93bosh(当前的 Bourne Shell)mkshbash

顺便说一句:正确的计时方法是获取 shell 及其所有子过程(可能称为程序)的计时,并打印命令之前和之后的差异。如果计时包括在 shell 本身中花费的时间,则可以对内置命令进行计时。

背景是 shell 内部的工作时间应该与外部命令的工作时间兼容time,并且外部time命令打印为特定命令创建的所有进程的所有时间的总和。如果time不包括子进程的值,它会为命令打印太低的值,cc因为大部分工作是在 的子进程内完成的cc

相关内容