shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Exportar resultado de função


From: Cristiano
Subject: Exportar resultado de função
Date: Sat, 21 Aug 2010 14:47:37 -0000
User-agent: eGroups-EW/0.82

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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]