
我試圖讓我的腳本在 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"