bash变量的间接引用

变量的间接引用

------------------
假设一个变量的值是另一个变量的名字.我们有可能从第一个变量中取得第2 个变量的值么?
比如,如果a=letter_of_alphabet 接着letter_of_alphabet=z,那么我们能从a 中得到z 么?
答案是:当然可以,并且这被称为间接引用.它使用一个不常用的符号eval var=\$$var.
a=letter_of_alphabet
letter_of_alphabet=z
echo "a = $a"   # a = letter_of_alphabet
eval a=\$$a
echo "a = $a"   # a = z
# 另一个方法是使用${!var}符号:
echo "a = ${!a}"  # a = z

posted on 2012-12-13 14:04  Richard.FreeBSD  阅读(281)  评论(0编辑  收藏  举报

导航