ZB wird das nächste Skript Hello
aufgrund der ${!
Regel gedruckt .
A=B
B=Hello
echo ${!A}
Aber wie kann ich den Wert auf eine Variable mit indirektem Namen setzen? Die einfache Verwendung von !
Zeichen funktioniert nicht:
A=B
!A=Hello # here is tricky line
echo $B
Ich weiß, dass es einen Trick bei der Verwendung von temporären Dateien gibt, aber ich bin daran interessiert, Indirektion zu verwenden, nicht so etwas
A=B
echo "$A=Hello" > 1.tmp
. 1.tmp
echo $B
eval $A=foobar