$ RANDOM во сне

Я пытаюсь заставить мой сценарий произвольно останавливаться между 20 и 10 секундами, где максимальное время составляет 20 и минимум 10. Я использую этот атм:

sleep $((10 + RANDOM % 20));

Но проблема является то, что он игнорирует предел 20 и выходит за рамки этого. Есть ли другой путь?

2
задан 17 May 2019 в 19:17

1 ответ

10 и 20 не являются минимальными и максимальными случайных чисел. Выражение простое математическое. % означает по модулю.

Вы хотите

sleep $((10 + RANDOM % 11));

Это 11, потому что 10-20 это 11 чисел.


Кроме того, вы можете использовать shuf:

sleep $(shuf -i 10-20 -n 1)
0
ответ дан 17 May 2019 в 19:17

Другие вопросы по тегам:

Похожие вопросы: