Variáveis compostas em shell script

Publicado por DAVISON MARCEL PASQUALINI em 08/01/2010

[ Hits: 10.081 ]

 


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

Performance awk x grep

Transposição COLUNA x LINHA

Leitura recomendada

Atendimento ou suporte remoto em estações de trabalho via VNC

Qual o maior número da variável RANDOM?

DictConv: Converta dicionários do Babylon para o StarDict

Nome de arquivo com espaço dentro de variáveis

Hora no prompt do terminal

  

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