[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
- RES: [shell-script] loop while,
Julio Cezar Neves - DATAPREVRJ <=