[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] variaveis dentro/fora do laço
From: |
Eliphas Levy Theodoro |
Subject: |
Re: [shell-script] variaveis dentro/fora do laço |
Date: |
Wed, 24 Aug 2005 18:17:34 -0300 |
User-agent: |
Mozilla Thunderbird 1.0.2 (Windows/20050317) |
Fabricio escreveu:
esse é o laço , o problema eh que fora do laço as vars $contatotal e
$creditototal nunca tem nada ...
se eu coloco um echo dentro do laço , ele mostra q tem ! eh estranho ,
dentro do laço tem um valor , fora nao tem nda ... !!
pq isso ? :(
Essa é velhona, todo mundo cai nela.
O shell abre outro processo com o pipe; e tudo que é executado nele se
perde ao final do while.
$ a=1; cat .bashrc | while read line; do let a++; done; echo $a;
1
$ a=1; while read line; do let a++; done < .bashrc; echo $a;
64
Viu a diferença? Se quiser que o while modifique a variavel de fora do
laço, certifique-se que ele esteja no mesmo contexto da variável. Você
vai usar arquivos temporários ou substituição de processos. Para uma
explicação do segundo, dá uma olhada em
http://www.tldp.org/LDP/abs/html/process-sub.html
Ou no histórico da lista com certeza tem também.
--
Eliphas
- help while, murgent_shell, 2005/08/23
- Re: [shell-script] help while, Fernando Lunardelli, 2005/08/24
- Re: [shell-script] help while, murgent_shell, 2005/08/24
- Re: [shell-script] help while, Eduardo Jaime Quiros Batres, 2005/08/24
- Re: [shell-script] help while, murgent_shell, 2005/08/24
- Re: [shell-script] help while, Tiago Barcellos Peczenyj, 2005/08/24