Variáveis compostas em shell script

Publicado por DAVISON MARCEL PASQUALINI em 08/01/2010

[ Hits: 10.258 ]

 


Variáveis compostas em shell script



Em alguns momentos em nossas vidas nos deparamos com situações inesperadas.

Ao tentar ajudar um colega do VOL, este tinha o seguinte problema, queria que a combinação de duas variáveis formassem o nome de uma terceira e esta sim seria resolvida e utilizada.

Para tornar mais fácil o entendimento, vou mostrar exatamente o exemplo dele:

#!/bin/sh
echo "Digite o numero 1 ou 2:"; read numero
nome1="ANDRE"
nome2="MARCELO"
nome_numero='$nome'$numero
echo $nome_numero

Neste caso ao escolher a opção 1, por exemplo o resultado será $nome1, e o que ele queria é que a variável $nome1 fosse resolvida e mostrasse o nome correspondente.

Diversas foram as soluções, algumas bem interessantes até, mas que mudam a lógica para prover esse dado ...

Uma solução bem simples para quando você que forçar a resolução dos argumentos, é o "EVAL".

#!/bin/sh
echo "Digite o numero 1 ou 2:";read numero
nome1="ANDRE"
nome2="MARCELO"
nome_numero='$nome'$numero
eval "echo $nome_numero"

Neste caso o "eval" força uma nova resolução da variável.

Como acho que isso pode se aplicar em outros casos e possa ser útil ... vai a dica.

Outras dicas deste autor

Transposição COLUNA x LINHA

Performance awk x grep

Leitura recomendada

Declarando constantes em shell scripts

Compilar programas com muitos parâmetros

Script IP Válidos na rede interna

Somar variáveis nos shells BASH e sh

Variável de numero inteiro ou float

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts