1

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

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

我如何评估 xxx_$aaa 给我 12345。

请指教。

4

2 回答 2

2

在 bash 中使用间接参数扩展

varname=xxx_$aaa
echo ${!varname}

然而,动态变量名通常难以处理。更容易使用关联数组:

declare -A xxx
xxx[yyy]=12345
aaa=yyy
echo ${xxx[$aaa]}
于 2012-12-12T20:44:07.187 回答
1

在 bash 中(可能还有其他:指定是否需要另一个),使用eval. 不要忘记转义第一个$,如图所示:

eval echo \$xxx_$aaa
于 2012-12-12T17:54:03.787 回答