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

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

RES: [shell-script] loop while


From: Julio Cezar Neves - DATAPREVRJ
Subject: RES: [shell-script] loop while
Date: Mon, 8 Nov 2004 10:29:14 -0300

Celso,
acho que vc se confundiu um pouco. Existem duas formas de fazer o que vc
quer:

Primeira:
cat arq.txt | while read x
do
   varX=blabla
done

Segunda:
while read x
do
   varX=blabla
done < arq.txt

Na primeira, o pipe que redireciona o cat forçará o processamento do while
em um subshell e desta forma qdo o cmd encerrar-se, todos o ambiente gerado
dentro deste subshell estará perdido.

Na segunda, não será criado nenhum subshell e portanto não haverá nada a se
perder. Veja os 2 exemplos abaixo feitos direto no prompt:

Prompt> seq 5 > num
Prompt> cat num
1
2
3
4
5
Prompt> cont=0
Prompt> cat num | while read x
> do
>     let cont++
> done
Prompt> echo $cont
0
Prompt> while read x
> do
>     let cont++
> done < num
Prompt> echo $cont
5

[ ]s,
Julio Cezar Neves
- Gerente do Programa de Software Livre -
Tel:+55 21 2528-7070 / +55 21 8112-9988
Fax: +55 21 2528-7646
mailto:address@hidden


| -----Mensagem original-----
| De: Celso Vianna [mailto:address@hidden]
| Enviada em: domingo, 7 de novembro de 2004 21:23
| Para: address@hidden
| Assunto: [shell-script] loop while
| 
| 
| 
| Pessoal,
| 
| Tenho o seguinte arquivo:
| 
| cat arq.txt
| 
| linha1
| linha2
| linha3
| linha4
| linha5
| 
| while read x
| do
|    varX=blabla
| done < arq.txt
| 
| como é que faria para, em cada passagem do loop, atribuir um valor à
| variável "varX"?
| 
| Celso
| 
| 
| 
| ---------------------------------------------------------------------
| Esta lista não admite a abordagem de outras liguagens de 
| programação, como perl, C etc. Quem insistir em não seguir 
| esta regra será moderado sem prévio aviso.
| ---------------------------------------------------------------------
| Sair da lista: address@hidden
| ---------------------------------------------------------------------
| Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
 
Links do Yahoo! Grupos




 




reply via email to

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