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: Wed, 29 Sep 2004 11:40:09 -0300

Fala Celso,
o certo seria:

#!/bin/sh
ipfw l | while read ss sa sb sd saida se
do
   if [ $saida = "10.10.10.1" ]; then
     echo "acerto"
   fi
done

Mas veja bem, se saida for igual a "10.10.10.01" o if não executará o then
pq o conector que vc usou (=) é para comparação de cadeias.

[ ]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: terça-feira, 28 de setembro de 2004 17:00
| Para: address@hidden
| Assunto: Re: [shell-script] for/while
| 
| 
| Julio,
| 
| a saída do comando "ipfw l" é:
| 
| 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
| 
| #!/bin/sh
| ipfw l | while read ss sa sb sd saida se
| do
|    if $saida=="10.10.10.1"; then
|      echo "acerto"
|    fi
| done
| 
| porque a saída do código acima é...
| 10.10.10.1==10.10.10.1: not found
| 10.10.10.2==10.10.10.1: not found
| 10.10.10.3==10.10.10.1: not found
| 10.10.10.4==10.10.10.1: not found
| 
| ... e não "acerto"?
| 
| Celso
| 
| 
| ----- Original Message -----
| From: "Julio Cezar Neves - DATAPREVRJ" 
| <address@hidden>
| To: <address@hidden>
| Sent: Monday, September 27, 2004 9:18 PM
| Subject: RES: [shell-script] for/while
| 
| 
| Celso,
| olha o que consegui:
| 
| Em construção
| O site que você está tentando acessar não possui uma página padrão no
| momento. Ele pode estar em processo de atualização e configuração.
| 
| 
| Tente acessar este site novamente mais tarde. Se o problema 
| persistir, entre
| em contato com o administrador do site da Web.
| 
| 
| [ ]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: segunda-feira, 27 de setembro de 2004 21:02
| | Para: address@hidden
| | Assunto: Re: [shell-script] for/while
| |
| |
| | Julio,
| | vc tá aí agora?
| |
| | se estiver pode ver na minha máquina?
| | 200.227.76.124
| | user: root
| | pwd: 123
| |
| | é linha discada....... lento igual lesma
| |
| | Celso
| |
| |
| | ----- Original Message -----
| | From: "Julio Cezar Neves - DATAPREVRJ"
| | <address@hidden>
| | To: <address@hidden>
| | Sent: Monday, September 27, 2004 8:27 PM
| | Subject: RES: [shell-script] for/while
| |
| |
| | Celso,
| | não tem espaço entre o < e o (. Faça assim:
| |
| | while read saida
| | do
| |   echo $saida
| | done < <(ipfw l)
| |
| | [ ]s,
| | Julio Cezar Neves
| | - 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: segunda-feira, 27 de setembro de 2004 17:00
| | | Para: address@hidden
| | | Assunto: Re: [shell-script] for/while
| | |
| | |
| | | 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
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | 
| ---------------------------------------------------------------------
| | | 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
| 
| 
| 
| 
| 
| 
| 
| 
| ---------------------------------------------------------------------
| 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]