Fala Geilson antes de mais nada queria agrader à indicação do meu livro. Em segundo lugar, esplicar que na resposta do Tiago: < <(cmd), somente o primeiro < é um redirecionamento. O <(cmd) é um named pipe temporário. Vc pode confirmar isso da seguinte forma:
Prompt> ls -l >(cat) l-wx------ 1 d276707 ssup 64 Sep 14 17:38 /dev/fd/63 -> pipe:[175085] Veja maiores detalhes em www.julioneves.com e lá procure Substituição de Processos. -- Abraços, Julio http://www.julioneves.com - Um livro sobre Bash completo e on-line :wq Em 14/09/06, Geison Farias <[EMAIL PROTECTED]> escreveu: > > > Puxa, valeu Tiago. > > Havia tentado outras formas de redirecionamento mas não esta: "< <( xxx > )". > Desconfiava do sub-shell... > > Brigadão. > Geison > > > > Tiago Barcellos Peczenyj escreveu: > > quando vc faz > > > > echo "alguma coisa" | while read A ; do ... ; done > > > > a parte que lida com a variavel A é executada em um sub-Shell. Ao > > alterar uma variavel em um subshell vc não tem como fazer o valor > > voltar, pois não existe uma referência entre os shells. > > > > Faça assim: > > > > #!/bin/bash > > A="..." > > > > JUNTA= > > CAMPOS= > > > > while read LINHA ; do > > C1=${LINHA:2:3} > > C2=${LINHA:6:3} > > C3=${LINHA:8:3} > > C4=${LINHA:14:3} > > > > CAMPOS="${C1}${C2}${C3}${C4}---" > > > > JUNTA=${JUNTA}${CAMPOS} > > > > done < <(echo "$A"| grep "^9........j") > > > > echo "${JUNTA}" > > > > pois o redirecionamento '<' é mais 'confiavel' para o que vc quer ;-) > > > -- Abraços, Julio http://www.julioneves.com - Um livro sobre Bash completo e on-line :wq [As partes desta mensagem que não continham texto foram removidas] --------------------------------------------------------------------- Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso. --------------------------------------------------------------------- Sair da lista: [EMAIL PROTECTED] --------------------------------------------------------------------- Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net --------------------------------------------------------------------- Servidor Newsgroup da lista: news.gmane.org Grupo: gmane.org.user-groups.programming.shell.brazil Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/shell-script/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html