Use uma matriz para manter os valores e escolha entre eles usando a variável interna $RANDOM
. Por exemplo,
x[0]=10 # One decade
x[1]=100 # One century
x[2]=1000 # One millennium
for ((i=1; i < 20; ++i)); do echo -n " ${x[$RANDOM%3]}"; done; echo
1000 10 10 10 10 100 10 100 100 10 10 100 100 100 10 1000 1000 1000 10
A qualidade da aleatoriedade não será a melhor possível (leia bytes de /dev/urandom
para isso), mas deve ser mais do que suficiente para um script.
Nota 1: Como as pessoas observaram nos comentários, em vez de inicializar os elementos da matriz individualmente, é claro que é possível usar uma matriz litteral: x=(10 100 1000)
.
Nota 2: Em vez de codificar o número de elementos na matriz, um elemento radom pode ser extraído por ${x[$RANDOM%${#x[@]}]}
.