Shell脚本变量反射

时间:2014-06-16 16:51:54

标签: bash shell

我正在编写一个shell脚本(#!/ bin / sh),它有一个变量VAR,其中包含另一个变量FOO的名称,后者又设置为BAR。

FOO=BAR
VAR=FOO

我想获得VAR中命名的变量的值,如下所示:

echo "${$VAR}"

但这似乎不起作用。建议?

1 个答案:

答案 0 :(得分:6)

在Bash中:

echo "${!VAR}"

没有Bash(虽然它也适用于Bash):

eval echo "\${$VAR}"

注意:eval是一种非常通用的机制,可以很容易地解决问题。它在这里工作正常,但是更普遍地使用它会保持谨慎。