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

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

RES: [shell-script] for/while


From: Julio Cezar Neves - DATAPREVRJ
Subject: RES: [shell-script] for/while
Date: Mon, 27 Sep 2004 13:16:59 -0300

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




 
 


reply via email to

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