$RANDOM во сне

$RANDOM во сне

Я пытаюсь заставить свой скрипт делать паузу случайным образом на 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"

Связанный контент