我试图让我的脚本在 20 到 10 秒之间随机暂停,其中最大时间为 20 秒,最小时间为 10 秒。我正在使用这个 atm:
sleep $((10 + RANDOM % 20));
Run Code Online (Sandbox Code Playgroud)
但问题是它忽略了 20 的限制并超出了这个限制。还有其他方法吗?
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)