Tiago Matos Postado Dezembro 19, 2013 Compartilhar Postado Dezembro 19, 2013 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. Link para o comentário Compartilhar em outros sites More sharing options...
joaopaulo Postado Dezembro 19, 2013 Compartilhar Postado Dezembro 19, 2013 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[@]} Link para o comentário Compartilhar em outros sites More sharing options...
Tiago Matos Postado Dezembro 19, 2013 Autor Compartilhar Postado Dezembro 19, 2013 Deu erro.. :/ line 5: shuf -i 1-12 -n 1: syntax error in expression (error token is "1-12 -n 1") Link para o comentário Compartilhar em outros sites More sharing options...
Tiago Matos Postado Dezembro 19, 2013 Autor Compartilhar Postado Dezembro 19, 2013 Consegui, fiz da seguinte forma: ips=("xxx" "yyy" "zzz") ips_shuf=($(shuf -e ${ips[*]})) echo ${ips_shuf[1]} Link para o comentário Compartilhar em outros sites More sharing options...
joaopaulo Postado Dezembro 19, 2013 Compartilhar Postado Dezembro 19, 2013 rotacionando ips pra mail marketing? ehehehhe Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados