comando 'eval'


Att.:
Jonathan


Em 21 de agosto de 2010 11:47, Cristiano <boxferr...@gmail.com> escreveu:

>
>
> Senhores, bom dia.
>
> Estou otimizando um script de firewall e tenho um arquivo que descreve
> serviços e portas.
>
> Seu conteúdo é +- assim:
>
> BACULA_DIR;9101;tcp udp
> BACULA_FD;9102;tcp udp
> BACULA_SD;9103;tcp udp
> DNS;53;tcp udp
> FIREBIRD;3050;tcp
> FTP;20:21;tcp
> GMAIL_POP;995;tcp
>
> A ideia é criar uma função que receba como parâmetro o nome do serviço
> (campo 1) e que retorne a porta (campo 2) e os protocolos (campo 3),
> atribuídos respectivamente à variáveis PORTA e PROTOS.
>
> Porém, a atribuição da variável feita dentro da função não é exportada para
> o shell que a chamou.
>
> Como eu faço para usar estas variáveis, atribuídas dentro da função, fora
> delas. Exemplo:
>
> function GetService () {
> PORTA=$(grep '^'${1}';' /etc/firewall/services.conf | cut -f 2 -d ';')
> PROTOS=$(grep '^'${1}';' /etc/firewall/services.conf | cut -f 3 -d ';')
> }
>
> # (...)
>
> GetService "DNS"
>
> for PROTO in $(echo $PROTOS) ; do
> iptables -A FORWARD -p $PROTO --dport $PORTA -i $IF_IN -j DROP
> done
>
> Sei que a dúvida conceitual é bem básica; até meio besta, mas me deu um
> branco.
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

---------------------------------------------------------------------
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: shell-script-unsubscr...@yahoogrupos.com.br
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    shell-script-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a