Angenommen, ich habe eine Variable var
in Bash. Ich kann ihm einen Wert zuweisen. Zum Beispiel mache ich daraus einen String:
var="Test"
Ich möchte echo
den Namen var
, nicht den Wert von var
. (Ich kann das letztere mit machen echo $var
, aber ich möchte eigentlich das erstere machen.)
Die Antwort auf diese Frage von SO sagt zu verwenden echo ${!var}
, aber wenn ich das tue, gebe ich nur eine leere Zeile zurück. Zum Beispiel dieses Bash-Skript
#!/bin/bash
echo "Hi"
var="Test"
echo ${!var}
echo "Bye"
gibt diese Ausgabe zurück:
Hi
Bye
mit nur einer Leerzeile zwischen Hi und Bye anstelle von var . Was mache ich falsch?
Ich starte Bash 4.1.5 (1) unter Ubuntu 10.04.4 .
var=Test; Test=SO; echo ${!var}
echo var
?