Предположим, что у меня есть переменная varв Bash. Я могу присвоить ему значение. Например, я сделаю это строкой:
var="Test"
Я хочу echoимя var, а не ценность, которой владеет var. (Я могу сделать последнее с echo $var, но я действительно хочу сделать первое.)
Ответ на этот вопрос от SO говорит, чтобы использовать echo ${!var}, но когда я делаю это, я эхо просто возвращает пустую строку. Например, этот скрипт bash
#!/bin/bash
echo "Hi"
var="Test"
echo ${!var}
echo "Bye"
возвращает этот вывод:
Hi
Bye
с пустой строкой между Привет и Bye вместо var . Что я делаю неправильно?
Я использую bash 4.1.5 (1) в Ubuntu 10.04.4 .
var=Test; Test=SO; echo ${!var}
echo var?