pdksh 时间内置函数不起作用

pdksh time built-in function does not work

$ time -p sleep 5
real 8.33
user 0.00
sys 0.00

$ /usr/bin/time -p sleep 5
real 5.00
user 0.00
sys 0.00

$ echo $KSH_VERSION
@(#)PD KSH v5.2.14 99/07/13.2

我注意到了这个问题: 在 Red Hat Enterprise Linux 服务器版本 6.8(圣地亚哥)上。 在 Red Hat Enterprise Linux 客户端版本 5.8 (Tikanga) 上。

欢迎任何帮助。

至少我找到了有同样问题的 pdksh 分支的维护者。他已经修复了错误:github.com/Orc/pdksh/commit/5d...

符号 CLK_TCK 已被邪恶的标准化委员会从 C 头文件中删除。因此,pdksh 使用默认值 (60) 而不是可以使用以下命令显示的正确值:

$ getconf CLK_TCK
100

如果您需要快速补丁,您可以下载 rpm 的源代码并修复 ksh_time.h 中的值,或者您可以安装 fork。