【发布时间】:2013-05-06 04:18:33
【问题描述】:
我正在 Ubuntu 13.04 中编写一个 bash 脚本,它需要 sleep 参数传递的特定秒数。 我已确保 sleep 允许在文档中查找浮点数:
与大多数要求 NUMBER 为整数的实现不同,这里的 NUMBER 可以是任意浮点数。
确实它适用于某些值。例如,“0.1”、“0.01”、“0.02”、“0.03”或“0.4”是可以的,但对于“0.04”或“0.05”等其他值则永久有效。
我的意思是, 这将起作用:
sleep 0.03
...但这将永远持续下去:
sleep 0.04
有人知道为什么吗?
谢谢!
【问题讨论】:
-
如果你使用“env sleep”而不是“sleep”会发生什么?
-
您是否调用了另一个终端并运行 top 和 ps 以查看发生了什么?您可能还希望将其作为可能的 Ubuntu 错误或问题放在启动板中。我已经在 12.04 上尝试过,并且 sleep 0.04 有效。所以,这可能是 Ubuntu 中的一个错误。
-
此处不可重现,我在
sleep的任何值都按预期工作。 -
env sleep 也挂起。我已经在 12.10 中尝试过它并且它可以工作,确实它看起来像一个 13.04 错误
-
尝试运行
strace sleep 0.04
标签: linux bash ubuntu floating-point sleep