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: Wed, 29 Sep 2004 16:29:19 -0300

Alexandre,

Tava tentando no "csh"; executei o "zsh" e funfou 100%;

Celso

----- Original Message -----
From: "Alexandre Heitor Schmidt" <address@hidden>
To: <address@hidden>
Sent: Tuesday, September 28, 2004 6:12 PM
Subject: Re: [shell-script] for/while


Bom, eu não tenho esse ipfw na minha máquina. Assim, criei um arquivo
chamado teste.txt com a saída que você forneceu e fiz o seguinte:

alexsmith@alexandre:~$ for i in $(cat teste.txt | cut -d " " -f 5); do if
[ "$i" == "10.10.10.1" ]; then echo "acerto"; fi; done
acerto
alexsmith@alexandre:~$

Aqui deu certo...

[]'s,

X.

On Tue, 28 Sep 2004 17:58:52 -0300
"Celso Vianna" <address@hidden> wrote:

> Alexandre,
>
> Fazendo assim...
> -------------------------------------
> for i in $(ipfw l | cut -d " " -f 5)
> do
>     if [ "$i" == "10.10.10.1" ]
>     then
>         echo "acerto"
>     fi
> done
> -------------------------------------
> resultado
> lynx# ./mais.sh
> [: 10.10.10.1: unexpected operator
> [: 10.10.10.2: unexpected operator
> [: 10.10.10.3: unexpected operator
> [: 10.10.10.4: unexpected operator
> -------------------------------------
>
> Fazendo assim.......(sem o espaço entre o colchete e aspas...)
> for i in $(ipfw l | cut -d " " -f 5)
> do
>     if ["$i" == "10.10.10.1"]
>     then
>         echo "acerto"
>     fi
> done
> -------------------------------------
> Resultado
> lynx# ./mais.sh
> [10.10.10.1: not found
> [10.10.10.2: not found
> [10.10.10.3: not found
> [10.10.10.4: not found
> -------------------------------------
>
> O que pode estar errado?
>
> Celso
>
> ----- Original Message -----
> From: "Alexandre Heitor Schmidt" <address@hidden>
> To: <address@hidden>
> Sent: Tuesday, September 28, 2004 5:10 PM
> Subject: Re: [shell-script] for/while
>
>
> 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
> >
> >
> >
> >
> >
>
>
> ---------------------------------------------------------------------
> 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]