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

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

Re: [shell-script] variável some


From: Emerson Domingues Souto
Subject: Re: [shell-script] variável some
Date: Tue, 12 Jul 2005 15:47:06 -0300

Use o while sem o pipe, assim:

#!/bin/sh
_cont=10
while read line
do
   _cont=$((_cont+1))
   echo $_cont
done < teste.txt
echo
echo $_cont

PS: o problema é q o pipe implicitamente cria um sub-processo onde as variáveis 
não são exportadas para fora


----- Original Message ----- 
From: "Claudio Sá de Abreu" <address@hidden>
To: <address@hidden>
Sent: Tuesday, July 12, 2005 1:03 PM
Subject: Re: [shell-script] variável some


> comigo não acontece assim:
>
> root@s1:/root>./teste.sh
> 11
> 12
> 13
> 14
> 15
>
> 10
> root@s1:/root>
>
> Será que é algo no meu sistema? Se for, o que pode ser?
>
> []'s
> Claudio Abreu
>
>
> Tiago Peczenyj wrote:
>
> >eu executei este script e aconteceu:
> >11
> >12
> >13
> >14
> >15
> >16
> >
> >16
> >
> >
> >Em 12/07/05, Claudio Sá de Abreu<address@hidden> escreveu:
> >
> >
> >> Pessoal,
> >>
> >> Estou fazendo um script com a estrutura abaixo:
> >>
> >>
> >> #!/bin/sh
> >> _cont=10
> >> cat teste.txt |\
> >> while read line
> >> do
> >>         _cont=$((_cont+1))
> >>         echo $_cont
> >> done
> >> echo
> >> echo $_cont
> >>
> >>
> >> Meu script não é exatamente assim, e sei que há maneiras mais simples de
> >> contar as linhas de arquivo.txt (com wc -l, por exemplo), somando 10.
> >> Estou usando esse script simples apenas como exemplo.
> >>
> >> O problema é o seguinte: O último "echo $_cont", que está fora do while,
> >> imprime o valor "10", ou seja, é como se a variável _cont dentro do
> >> while estivesse "protegida". Para um arquivo de entrada de 5 linhas, a
> >> saída do programa acima fica:
> >>
> >> 11
> >> 12
> >> 13
> >> 14
> >> 15
> >>
> >> 10
> >>
> >> Já usei export $_cont dentro do while, mas não adiantou. Alguém sabe
> >> como faço para as modificações de dentro do while irem para fora?
> >>
> >> []'s
> >> Claudio Abreu
> >>



reply via email to

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