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: Alexandre Heitor Schmidt
Subject: Re: [shell-script] for/while
Date: Tue, 28 Sep 2004 17:10:33 -0300

Usa o cut para não precisar das variáveis auxiliares e os colchetes "[]" no if 
para o teste funcionar.

---------- 8< ------------
for i in $(ipfl l | cut -d " " -f 5)
do
    if [ "$i" == "10.10.10.1" ]
    then
        echo "acerto"
    fi
done
---------- 8< ------------

Dúvidas no if? man test
Dúvidas no cut? man cut

[]'s,

X.
        
On Tue, 28 Sep 2004 17:00:20 -0300
"Celso Vianna" <address@hidden> wrote:

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