Um problema com o intervalo $ RANDOM no bash

1

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))
    
por David G. 13.02.2013 / 15:14

2 respostas

1

Tente fazer isso em vez disso, se você quiser uma maneira confiável:

intrandfromrange() { echo "$(( ( RANDOM % ($2 - $1 +1 ) ) + $1 ))"; }
intrandfromrange 2 4
    
por 13.02.2013 / 15:16
1

Para responder à sua pergunta:

  • RANDOM%3 tem 3 valores possíveis:

0, 1 e 2

+2 então:

2, 3 e 4

    
por 13.02.2013 / 21:31

Tags