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: Fri, 24 Sep 2004 17:33:28 -0300

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








reply via email to

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