shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Problemas em Loop While


From: Marlon Reck
Subject: Re: [shell-script] Problemas em Loop While
Date: Thu, 17 Jul 2008 06:16:24 -0700 (PDT)

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 usuario@servidor carrega.sh $ARQ



done < cat lista.txt
 
Espero ter ajudado
Marlon
--- Em qua, 16/7/08, Lucien Raven <address@hidden> escreveu:
De: Lucien Raven <address@hidden>
Assunto: [shell-script] Problemas em Loop While
Para: address@hidden
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 usuario@servidor 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]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]