Programas com while

1. Programas com while

Carlos Henrique Marques
rickobranco

(usa Ubuntu)

Enviado em 29/10/2012 - 14:15h

Saudações

Pessoal, estou com um probleminha, estou criando um loop com while, e a condição para esse loop é ler a ultima linha de um arquivo e caso essa linha seja igual a uma string ele sai do loop.

a estrutura é essa abaixo

while [ `tail saida_update -n 1` != "Nenhum pacote marcado para atualização" ]
do
yum update -y > saida_update
sleep 1
done

ele até entra no loop, mas não sai nunca mais. se alguém puder me ajudar

Obrigado!!!


  


2. Re: Programas com while

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 29/10/2012 - 14:20h

Eu acho q essa condição está dando sempre verdadeira... vc já verificou isso? É sempre bom executar o teste do if com um echo, por exemplo, só pra saber se a condição inserida é válida.



3. Re: Programas com while

Carlos Henrique Marques
rickobranco

(usa Ubuntu)

Enviado em 29/10/2012 - 15:36h

Ranato não é isso não, acho que é na condição do while, mas não sei arrumar.


4. Re: Programas com while

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 29/10/2012 - 15:40h

Desculpe, mas vc já testou a situação? Vc tá supondo e tem q t certeza disso. Se a condição estiver ok, troque o while pelo if.


5. Re: Programas com while

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/10/2012 - 16:43h

Seu arquivo terá apenas uma linha sempre graças ao redirecionador de fluxo >. Então o tail é desnecessário, pois isso funciona como uma atualização de conteúdo. Você está sobre escrevendo o conteudo original por uma atualizado e como resultado você terá apenas uma linha.

Você deveria estar usando >> para que o tail faça sentindo. Assim, você está adicionando conteúdo ao final do arquivo. Você terá varias linhas.

BOA SORTE!!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts