[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]