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