我试图让我的脚本在 20 到 10 秒之间随机暂停,其中最大时间为 20 秒,最小时间为 10 秒。我现在使用这个:
sleep $((10 + RANDOM % 20));
但问题是它忽略了 20 的限制并超出了该限制。还有其他方法吗?
答案1
10 和 20 不是随机数的最小值和最大值。表达式是简单的数学。%
表示模数。
你要
sleep $((10 + RANDOM % 11));
这是11
因为 10-20 是 11 个数字。
或者,你可以使用shuf
:
sleep $(shuf -i 10-20 -n 1)
答案2
用于随机毫秒睡眠
t=$(shuf -i 0-9 -n1)
sleep 0."$t"