Tente fazer isso em vez disso, se você quiser uma maneira confiável:
intrandfromrange() { echo "$(( ( RANDOM % ($2 - $1 +1 ) ) + $1 ))"; }
intrandfromrange 2 4
porque o código abaixo, supostamente para exibir um aleatório de 2 a 3, realmente funciona como se o intervalo fosse 2-4?
echo $((RANDOM%3+2))
Tente fazer isso em vez disso, se você quiser uma maneira confiável:
intrandfromrange() { echo "$(( ( RANDOM % ($2 - $1 +1 ) ) + $1 ))"; }
intrandfromrange 2 4
Para responder à sua pergunta:
RANDOM%3
tem 3 valores possíveis: 0, 1 e 2
+2 então:
2, 3 e 4
Tags bash