如何在 Unix 中执行以下操作:
1) 变量 xxx_yyy=12345
2) 变量 aaa=yyy
我如何评估 xxx_$aaa 给我 12345。
请指教。
在 bash 中使用间接参数扩展:
varname=xxx_$aaa
echo ${!varname}
然而,动态变量名通常难以处理。更容易使用关联数组:
declare -A xxx
xxx[yyy]=12345
aaa=yyy
echo ${xxx[$aaa]}
在 bash 中(可能还有其他:指定是否需要另一个),使用eval
. 不要忘记转义第一个$
,如图所示:
eval echo \$xxx_$aaa