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