睡眠中的 $RANDOM

Rap*_*inz 4 scripts

我试图让我的脚本在 20 到 10 秒之间随机暂停,其中最大时间为 20 秒,最小时间为 10 秒。我正在使用这个 atm:

sleep $((10 + RANDOM % 20));
Run Code Online (Sandbox Code Playgroud)

但问题是它忽略了 20 的限制并超出了这个限制。还有其他方法吗?

pLu*_*umo 8

10 和 20 不是随机数的最小值和最大值。该表达式是简单的数学运算。%表示模。

你要

sleep $((10 + RANDOM % 11));
Run Code Online (Sandbox Code Playgroud)

这是11因为 10-20 是 11 个数字。


或者,您可以使用shuf

sleep $(shuf -i 10-20 -n 1)
Run Code Online (Sandbox Code Playgroud)