Cara seu problema esta no " cat lista.txt | while read ARQ" o pipe esta chamando o while em um subshell e quando esse volta para o shell pai ele volta com as váriaveis zeradas, essa pegadinha é foda, vc pode resolver ela mudando o while para:
cat lista.txt | while read ARQ do ssh [EMAIL PROTECTED] carrega.sh $ARQ done < cat lista.txt Espero ter ajudado Marlon --- Em qua, 16/7/08, Lucien Raven <[EMAIL PROTECTED]> escreveu: De: Lucien Raven <[EMAIL PROTECTED]> Assunto: [shell-script] Problemas em Loop While Para: [email protected] Data: Quarta-feira, 16 de Julho de 2008, 0:41 Colegas, Tenho um script com um problema que não consigo resolver ou entender. Esse script é longo, portanto vou me ater apenas ao problema. Em um determinado ponto dele, há um loop while mais ou menos assim: --- cat lista.txt | while read ARQ do ssh [EMAIL PROTECTED] carrega.sh $ARQ done echo "Fim do Script" --- O arquivo lista.txt é uma relação de 6 arquivos. Se eu colocar um echo antes do ssh, obviamente ele vai mostrar 6 linhas variando o nome do arquivo e encerra mostrando o "Fim do Script". Se eu deixar como está acima, ele faz apenas uma chamada ssh, carregando o arquivo passado com parâmetro mas, como se houvesse um break em seguida, sai do loop, mostrando direto o último echo. Os outros arquivos da lista.txt não são processados. A chamada SSH+script executa em subshell? Um "wait" após o SSH não resolveu o problema. Por favor, alguém tem alguma explicação? Estou deixando passar algo óbvio? Estou misturando as bolas? Tentei colocar uns traps mas não consegui pegar nada. Um echo $? após o SSH mostra apenas "O" (zero). Se precisarem de mais detalhes é só perguntar! Obrigado! LR :> Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. http://br.new.mail.yahoo.com/addresses [As partes desta mensagem que não continham texto foram removidas]
