使用多个部分评估Unix变量

时间:2012-12-12 17:45:51

标签: shell unix solaris

如何在Unix中执行以下操作:

1)变量xxx_yyy = 12345
2)变量aaa = yyy

如何评价xxx_ $ aaa给我12345。

请告知。

2 个答案:

答案 0 :(得分:2)

在bash中使用indirect parameter expansion

varname=xxx_$aaa
echo ${!varname}

但是,动态变量名称通常很难处理。更容易使用关联数组:

declare -A xxx
xxx[yyy]=12345
aaa=yyy
echo ${xxx[$aaa]}

答案 1 :(得分:1)

在bash中(可能还有其他人:指定是否需要其他人),请使用eval。不要忘记逃离第一个$,如图所示:

eval echo \$xxx_$aaa