Suponha que eu tenha uma variável varno bash. Eu posso atribuir um valor a ele. Por exemplo, vou fazer uma string:
var="Test"
Eu quero echoo nome de var, não o valor mantido por var. (Eu posso fazer o último com echo $var, mas realmente quero fazer o primeiro.)
A resposta para esta pergunta do SO diz para usar echo ${!var}, mas quando faço isso, eco apenas retorna uma linha em branco. Por exemplo, este script bash
#!/bin/bash
echo "Hi"
var="Test"
echo ${!var}
echo "Bye"
retorna esta saída:
Hi
Bye
com apenas uma linha em branco entre Hi e Bye , em vez de var . O que estou fazendo de errado?
Estou executando o bash 4.1.5 (1) no Ubuntu 10.04.4 .
var=Test; Test=SO; echo ${!var}
echo var?