我的脚本中需要在两个小于 1 秒的数字之间进行随机暂停。以下内容曾经有效:
#! /bin/bash
sleep $(python -c "import random;print random.uniform(.2,.8)")
但突然间就不再这样了。还有其他方法吗?
我使用的是 Linux Mint 20,如果这很重要的话。
答案1
您的基于 python 的解决方案失败了,因为您的操作系统已弃用,python2
转而使用python3
.作为该过程的一部分,/usr/bin/python
不再指向任何一个默认情况下。
在 python3 中,print
它是一个函数,其参数1需要用括号括起来。所以你可以使用:
sleep $(python3 -c "import random;print(random.uniform(.2,.8))")
然而,对于睡眠值在 200 毫秒到 800 毫秒之间的简单情况,您可能会生成一个整数200 到 600 之间(你可以在 bash 中使用内置RANDOM
变量加上一些模运算),并在前面添加0.
:
sleep 0.$((200 + RANDOM%600))