[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