Variáveis compostas em shell script

Publicado por DAVISON MARCEL PASQUALINI em 08/01/2010

[ Hits: 10.235 ]

 


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

Como exibir números com um largura fixa de caracteres, complentando com zeros a esquerda

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

Transforme a manpage do GNU/Linux em PDF

Convertendo Segundos em Horas Usando Bash

  

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