Olá, você deverá ficar atento as aspas simples, que é usada quando você tem um comando e você quer pegar o resultado. O problema pode ser isso, visto que no terminal funciona e no script não. Ex. LISTA=`ls -la` coisas do tipo.
Flw -- Rodolfo Coutinho Em 15/12/08, Eri Ramos Bastos <[email protected]> escreveu: > > Olá, lista. > > Estou apanhando um pouco para criar um array dentro de um script. > > Tenho um arquivo chamado batata.txt: > > $ cat batata.txt > 64.233.169.99 google.com # telnet ftp imap dns pop3 smtp > > Via linha de comando consigo facilmente criar um array para os > serviços relacionados: > > $ teste=($(cat batata.txt |cut -d "#" -f2)) > $ echo ${#tes...@]} > 6 > > Porém dentro de um script onde tenho uma função que recebe a linha via > argumento isso não funciona: > > http://pastebin.com/m5e4b6f75 > > $ ./view.sh > 64.233.169.99 > + services=($(echo "$1"|cut -d "#" -f2)) > ++ echo '64.233.169.99 google.com # telnet ftp imap dns pop3 smtp ' > ++ cut -d '#' -f2 > + set +x > Numero de elementos: 1 > Conteudo da variavel $services: telnet ftp imap dns pop3 smtp > > Certeza que estou vacilando em algum detalhe, mas não consigo encontrar > onde. > Alguém pode me dar uma luz? :) > > []'s > Eri Ramos Bastos > > [As partes desta mensagem que não continham texto foram removidas]
