Acessar variável através da junção do nome de duas váriaveis. (Complexo)

1. Acessar variável através da junção do nome de duas váriaveis. (Complexo)

Douglas
TheDoug

(usa Outra)

Enviado em 01/06/2010 - 22:12h

Olá pessoal, a dúvida é a seguinte, tenho três variáveis, sendo q a junção de duas delas é igual ao nome da terceira, com isso quero acessar a terceira unindo o nome das duas primeiras. Exemplo:

t1=ter
t2=ceira
terceira='Deu Certo'

Com isso quero fazer algo do tipo:

echo "$($t1$t2)"

O resultado do echo teria q ser "Deu Certo", porém a sintaxe acima não funciona. Alguém sabe como fazer essa atribuição e acessar uma variável através da composição de outros nomes?

Eu quero fazer isso pq tenho um script q contém várias regras de iptables, onde cada regra possui várias variáveis cujos nomes são idênticos, exceto pelo numero da regra, por exemplo a regra 1 tem as variáveis ip1 e netmask1, a regra 2 tem as variáveis, ip2 e netmask2, e assim por diante. Portanto estou tendo q replicar as regras várias vezes, e o problema é q eu tenho muitas regras e o script está enorme.
Então quero fazer um loop q concatene o nome genérico da variável (ip e netmask no exemplo) e concatene com o número atual do loop, para com isso acessar diretamente o conteúdo das variáveis (ip1, netmask1, ip2, netmask2, etc) q ficam num arquivo de configuração.
O tamanho final do script muito menor e ficaria muito mais simples adicionar novas regras.

Sem alguém puder me ajudar agradeço.....


  


2. Re: Acessar variável através da junção do nome de duas váriaveis. (Complexo)

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 02/06/2010 - 12:37h

O que você procura é o EVAL, aqui tem uma dica mostrando como usar:
http://www.vivaolinux.com.br/dica/Variaveis-compostas-em-shell-script/



3. Re: Acessar variável através da junção do nome de duas váriaveis. (Complexo)

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 02/06/2010 - 12:38h

Pensando bem ... vou adiantar o seu lado vai.

t1=ter
t2=ceira
terceira='Deu Certo'

eval echo \$$t1$t2






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts