我正在编写一个shell脚本(#!/ bin/sh),它有一个变量VAR,它包含另一个变量FOO的名称,后者又设置为BAR.
FOO=BAR
VAR=FOO
Run Code Online (Sandbox Code Playgroud)
我想获得VAR中命名的变量的值,如下所示:
echo "${$VAR}"
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.建议?
在Bash:
echo "${!VAR}"
Run Code Online (Sandbox Code Playgroud)
没有Bash(虽然它也适用于Bash):
eval echo "\${$VAR}"
Run Code Online (Sandbox Code Playgroud)
注意:这eval是一种非常通用的机制,可以很容易地解决问题.它在这里工作正常,但要更普遍地使用它时要小心.