echo $((RANDOM))
Você pode especificar um intervalo. Vamos supor que você queira um número entre 0 e 100.
echo $((RANDOM % 101))
No caso eu coloquei 101, que é o limite superior, excluindo o próprio 101.
Você também pode definir um intervalo onde o limite inferior seja diferente de zero. Por exemplo, um número entre 80 e 100, inclusive.
echo $((RANDOM % 21 + 80)
Ou seja, o primeiro número é o total de números do intervalo. O segundo número é o limite inferior.
Outro exemplo, gerar um número aleatório que seja -1, 0 ou 1.
echo $((RANDOM % 2 - 1))
Um último exemplo: que tal gerar números aleatórios para a Mega Sena?
for i in `seq 6`
do
echo $((RANDOM % 60 + 1))
done
Olá Ricardo!
ResponderExcluirNo seu exemplo da Mega Sena ficou faltando tratar das duplicidades. Tenho um script completo para Mega Sena, quem quiser posso enviar por email é só solicitar.
Abraço.
Muito bem observado, Henrique.
ExcluirNeste site também tem várias ferramentas para tratar de números aleatórios.
http://www.random.org/
Descobri agora uma limitação no comando RANDOM. Ela só aceita números abaixo de 100.000. Para gerar números maiores use o seguinte:
ResponderExcluir$ echo $((RANDOM % 100000))$((RANDOM % 10))
270539
$ echo $((RANDOM % 100000))$((RANDOM % 100)
1065237