Misalkan saya memiliki variabel var
dalam bash. Saya dapat memberikan nilai untuk itu. Sebagai contoh, saya akan membuatnya menjadi string:
var="Test"
Saya ingin echo
nama var
, bukan nilai yang dipegang oleh var
. (Saya dapat melakukan yang terakhir dengan echo $var
, tetapi saya sebenarnya ingin melakukan yang pertama.)
Jawaban untuk pertanyaan ini dari SO mengatakan untuk digunakan echo ${!var}
, tetapi ketika saya melakukan itu saya gema hanya mengembalikan baris kosong. Misalnya, skrip bash ini
#!/bin/bash
echo "Hi"
var="Test"
echo ${!var}
echo "Bye"
mengembalikan hasil ini:
Hi
Bye
hanya dengan garis kosong antara Hi dan Bye , bukan var . Apa yang saya lakukan salah?
Saya menjalankan bash 4.1.5 (1) di Ubuntu 10.04.4 .
var=Test; Test=SO; echo ${!var}
echo var
?