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

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

Re: [shell-script] for/while


From: Celso Vianna
Subject: Re: [shell-script] for/while
Date: Mon, 27 Sep 2004 17:00:19 -0300

Julio,

Veja se estou fazendo algo errado:

while read saida
do
  echo $saida
done < < (ipfw l)

lynx# ./scs.sh
./scs.sh: 5: Syntax error: redirection unexpected
------------------------------------------------------------------
while read saida
do
  echo $saida
done < <(ipfw l)

lynx# ./scs.sh
./scs.sh: 4: Syntax error: redirection unexpected
------------------------------------------------------------------
while read saida
do
  echo $saida
done <<(ipfw l)

lynx# ./scs.sh
./scs.sh: 4: Syntax error: "(" unexpected
------------------------------------------------------------------

A última forma funcionou 100%

Fiquei intrigado porque a primeira forma não funcionou! alguma explicação?

Valews Julio

Celso



----- Original Message -----
From: "Julio Cezar Neves - DATAPREVRJ" <address@hidden>
To: <address@hidden>
Sent: Monday, September 27, 2004 1:16 PM
Subject: RES: [shell-script] for/while


Celso,
eu tinha falado para vc fazer assim:

while read saida
do
     echo $saida
done < <(ipfw l)

onde o primeiro < redireciona a entrada do while e <(ipfw 1) gera um arquivo
temporário (do tipo named pipe /dev/fd/63) para ser redirecionado para a
entrada do cmd. Outra forma de fazer isso é:

ipfw 1 | while read saida
do
     echo $saida
done

eu evito usar esta forma pq qdo terminar o while, vc perde as variáveis
geradas ou alteradas no seu interior.

[ ]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: sexta-feira, 24 de setembro de 2004 17:33
| Para: address@hidden
| Assunto: Re: [shell-script] for/while
|
|
| Julio,
|
| Fazendo assim, o retorno é:
| --------------------------------------------------------------
| ------------
| while read saida
| do
|      echo $saida
| done < `ipfw l`
|
| lynx# ./scs.sh
| ./scs.sh: cannot open 00100 deny tcp from 10.10.10.1 to any 80
| 00200 deny tcp from 10.10.10.2 to any 80
| 00300 deny tcp from 10.10.10.3 to any 80
| 00400 deny tcp from 10.10.10.4 to any 80
| --------------------------------------------------------------
| ------------
|
| ...e assim, o retorno é:
| while read saida
| do
|      echo $saida
| done << `ipfw l`
|
| lynx# ./scs.sh
| ./scs.sh: 1: Syntax error: Illegal eof marker for << redirection
|
| --------------------------------------------------------------
| --------------
|
| Celso
|
|
| ----- Original Message -----
| From: "Julio Cezar Neves - DATAPREVRJ"
| <address@hidden>
| To: <address@hidden>
| Sent: Friday, September 24, 2004 12:17 PM
| Subject: RES: [shell-script] for/while
|
|
| Celso,
|
| while read linha
| do
| ...
| ...
| done < <(comando)
|
| Desta forma na variave $linha vc terá uma saida do seu
| comando a cada loop
| do while. Digamos que  vc só queira usar o endereço IP, então
| vc pode fazer:
|
| 00100 deny tcp from 100.10.1.1 to any 80
| while read lixo lixo lixo lixo IP lixo
| do
| ...
| ...
| done < <(comando)
|
| Desta forma a variável $IP conterá cada endeço ID gerado por comando
|
| [ ]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: sexta-feira, 24 de setembro de 2004 07:50
| | Para: address@hidden
| | Assunto: [shell-script] for/while
| |
| |
| |
| | all,
| |
| | preciso processar a saída de um comando do FreeBSD, que é a
| seguinte:
| |
| | 00100 deny tcp from 100.10.1.1 to any 80
| | 00200 deny tcp from 100.10.1.2 to any 80
| | 00300 deny tcp from 100.10.1.3 to any 80
| | 00400 deny tcp from 100.10.1.4 to any 80
| |
| | faço isso com "for" ou "while"
| | olhando o histórico da lista encontrei o seguinte:
| |
| | --nesse caso tem o problema dos espaços
| | for xx in `ls`
| | do
| | .
| | done
| |
| | --assim a linhas ficam todas juntas
| | for xx in "`ls`"
| | do
| | .
| | done
| |
| | alguma dica?
| |
| | 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
|
|
|
|
|
|
|
|
|
|
| ---------------------------------------------------------------------
| 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
|
|
|
|
|
|
|
|
| ---------------------------------------------------------------------
| 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








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