John Asked: 2022-02-25 14:56:00 +0800 CST2022-02-25 14:56:00 +0800 CST 2022-02-25 14:56:00 +0800 CST bash脚本中的随机浮动睡眠? 772 我需要在脚本中两个小于 1 秒的数字之间随机停顿。以下曾经工作: #! /bin/bash sleep $(python -c "import random;print random.uniform(.2,.8)") 但是突然就不行了。还有其他方法吗? 如果这很重要,我在 Linux Mint 20 上。 bash random 1 个回答 Voted Best Answer steeldriver 2022-02-25T16:02:30+08:002022-02-25T16:02:30+08:00 您基于 python 的解决方案失败了,因为您的操作系统已python2弃用python3. 作为该过程的一部分,默认情况下/usr/bin/python不再指向任何一个。 在 python3print中是一个函数,需要在其参数1周围加上括号。所以你可以使用: sleep $(python3 -c "import random;print(random.uniform(.2,.8))") 但是,对于睡眠值在 200 毫秒和 800 毫秒之间的简单情况,您可能会摆脱生成 200 和 600 之间的整数(您可以在 bash 中使用内置RANDOM变量以及一些模算术),并在前面添加0.: sleep 0.$((200 + RANDOM%600)) 参见例如python-future:基本语法差异 - 打印
您基于 python 的解决方案失败了,因为您的操作系统已
python2
弃用python3
. 作为该过程的一部分,默认情况下/usr/bin/python
不再指向任何一个。在 python3
print
中是一个函数,需要在其参数1周围加上括号。所以你可以使用:但是,对于睡眠值在 200 毫秒和 800 毫秒之间的简单情况,您可能会摆脱生成 200 和 600 之间的整数(您可以在 bash 中使用内置
RANDOM
变量以及一些模算术),并在前面添加0.
: