Angenommen, ich habe eine Variable varin Bash. Ich kann ihm einen Wert zuweisen. Zum Beispiel mache ich daraus einen String:
var="Test"
Ich möchte echoden 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?