Supponiamo che io abbia una variabile varin bash. Posso assegnargli un valore. Ad esempio, lo trasformerò in una stringa:
var="Test"
Voglio echoil nome di var, non il valore detenuto da var. (Posso fare il secondo con echo $var, ma in realtà voglio fare il primo.)
La risposta a questa domanda di SO dice di usare echo ${!var}, ma quando lo faccio echo solo una riga vuota. Ad esempio, questo script bash
#!/bin/bash
echo "Hi"
var="Test"
echo ${!var}
echo "Bye"
restituisce questo output:
Hi
Bye
con solo una riga vuota tra Ciao e Ciao , invece di var . Che cosa sto facendo di sbagliato?
Sto eseguendo bash 4.1.5 (1) su Ubuntu 10.04.4 .
var=Test; Test=SO; echo ${!var}
echo var?