Variáveis compostas em shell script

Publicado por DAVISON MARCEL PASQUALINI em 08/01/2010

[ Hits: 10.865 ]

 


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

Verificar saída de comando. Será que meu comando deu erro?

Convertendo Segundos em Horas Usando Bash

Economize energia, um bem precioso

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

Transforme a manpage do GNU/Linux em PDF

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário