如何让zsh的REPORTTIME工作?
这是我的.zshrc:如何让zsh的REPORTTIME工作?
export REPORTTIME=3
当我运行sleep 4
它不输出任何东西。 如果我更改为REPORTTIME=blablabla
(或任何非感性的东西),它不会引发错误并开始表现为REPORTTIME=0
,即返回所有事情所花费的时间。
有趣的是,如果我尝试REPORTTIME=3s
我得到以下信息:
zsh: bad math expression: operator expected at `s' sleep 4 0.00s user 0.00s system 0% cpu 4.004 total
所以我得到的错误,仍然输出。我试过RERPORTTIME="3"
,甚至REPORTTIME=1+2
。这些都不起作用。
此外,如果我运行python -c "import time; time.sleep(4)"
我得到相同的结果(所以问题不在sleep
)。
当然,我也尝试过其他值(3除外)。
我使用iterm2运行MacOS,zsh是我的默认shell。
您需要将其明确设置为非负整数;即
% REPORTTIME=3
设置为其他非负值我的岩组v5.4.2 无法正常工作或。运行类似系统更新(例如,yaourt
)然后 的行为就好像我已将time
放在其前面一样。很漂亮!
所以你需要一个吃一些用户/系统时间的命令; sleep
确实不是 。虽然总经过足够长,用户和系统时间是 不是:
% time sleep 3
sleep 3 0.00s user 0.00s system 0% cpu 3.002 total
而且,没有必要export
这一点,因为它是直接使用岩组。
谢谢!我不知道'REPORTTIME'只计算用户/系统时间,而不是挂钟时间。 顺便说一句,显然'python的time.sleep'也不算,尽管它发生在python作业中。 这个作品:'python -c“import numpy as np; from scipy.linalg import lu; lu(np.random.rand(10000,10000))”' – mparada
我认为问题只是'睡眠'并不真正需要时间。尝试不同的长时间运行过程。我转载了它,'睡眠'不报告,但'du -s/somereasonablesizedfolder/*'确实。 – Blorgbeard