[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.
- Exportar resultado de função,
Cristiano <=