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

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

Re: [shell-script] Contador em while


From: Marcelo Salhab Brogliato
Subject: Re: [shell-script] Contador em while
Date: Wed, 12 Sep 2007 13:47:09 -0300

Olá Henrique,

acontece que o | cria uma subshell pra executar o while.. deste modo, a
variavel count
só está disponível dentro desta subshell...
pelo menos foi isso que aprendi neste curso de shell script:
http://twiki.softwarelivre.org/bin/view/TWikiBar/WebHome
(ps: terminei o curso ontem, portanto, sou extremamente iniciante e posso
estar falando besteira :))

uma saida que vejo seria usar o <<<, fazendo:
#!/bin/sh
count=0
while read LINHA
do
count=$((count+1))
echo $count
done <<< lista.txt
echo TOTAL=$count


uma outra saida seria utilizar o <(, fazendo:
#!/bin/sh
count=0
while read LINHA
do
count=$((count+1))
echo $count
done < <(cat lista.txt)
echo TOTAL=$count


espero ter ajudado,
um abraço,
Salhab



On 9/12/07, Henrique Bueno <address@hidden> wrote:
>
>   Olá Lista!
> Estou até com vergonha em fazer essa pergunta, mas eu ainda não
> consegui entender o que estou fazendo de errado.
> Olhe esse script:
> ##################################
> #!/bin/sh
> count=0
> cat lista.txt |
> while read LINHA
> do
> count=$((count+1))
> echo $count
> done
> echo TOTAL=$count
> ##################################
>
> Alguém poderia me explicar por que quando termina o while e eu mando
> mostrar a variável $count, ela está zerada?!
>
> O que eu preciso fazer para usar a variável $count após o while?!
>
> Grato!
>
> --
> Henrique Bueno
> linux user #417797
> ---------------------------------------------------------
> http://www.kibibit.com.br
> http://www.hbueno.eti.br
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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