Variáveis compostas em shell script

Publicado por DAVISON MARCEL PASQUALINI em 08/01/2010

[ Hits: 10.268 ]

 


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

Como lidar com variáveis retornadas pelo Expect - removendo CR do fim de linha

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

Truques para tratamento de variáveis em shell script

Arrays no BASH

DictConv: Converta dicionários do Babylon para o StarDict

  

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