Ir para conteúdo

Featured Replies

Postado

Olá,

Alguém sabe como pegar um índice do array aleatório usando shell script (bash)?

No PHP seria algo do tipo array_rand().

 

Abs.


Postado

Partindo do pressuposto que você já conhece o tamanho de seu Array:

No exemplo abaixo, eu sorteio um IP qualquer de um array ips, onde deve ser sorteado um elemento de um array de 12 posições. Lembre-se que em Shell a primeira posição do array é definido no índice [1] e não [0] como no PHP.

${ips[shuf -i 1-12 -n 1]}
Se for um array de tamanho desconhecido, basta medi-lo antes usando:

qntd =${#ips[@]} 
 

Postado
  • Autor

Deu erro.. :/

 

line 5: shuf -i 1-12 -n 1: syntax error in expression (error token is "1-12 -n 1")

Postado
  • Autor

Consegui, fiz da seguinte forma: 

ips=("xxx" "yyy" "zzz")
ips_shuf=($(shuf -e ${ips[*]}))
echo ${ips_shuf[1]}


Visitante
Este tópico está impedido de receber novos posts.

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Informação Importante

Concorda com os nossos termos?