带有let命令的多个间接变量(GNU/Linux Bash)

带有let命令的多个间接变量(GNU/Linux Bash),linux,bash,variables,let,Linux,Bash,Variables,Let,使用以下方法可轻松获取值: FontName=Ubuntu FontSize=300 let $FontName$FontSize=21 但是,如何使用变量获得相同的结果 我试过这样的方法: echo $Ubuntu300 21 但是运气不好,我希望我至少很接近 您必须将新的动态变量分配给新的动态变量,如下所示: echo ${!FontName!FontSize} 然后使用间接参数展开获得其值: var=$FontName$FontSize 将输出21您可以尝试以下操作: echo $

使用以下方法可轻松获取值:

FontName=Ubuntu
FontSize=300
let $FontName$FontSize=21
但是,如何使用变量获得相同的结果

我试过这样的方法:

echo $Ubuntu300
21

但是运气不好,我希望我至少很接近

您必须将新的动态变量分配给新的动态变量,如下所示:

echo ${!FontName!FontSize}
然后使用间接参数展开获得其值:

var=$FontName$FontSize

将输出
21

您可以尝试以下操作:

echo ${!var}
出于好奇,请不要指定新变量:

FontName=Ubuntu
FontSize=300
let ${FontName}${FontSize}=21

echo $Ubuntu300
21

完美的谢谢higuarojderfinko,我想你的意思是
echo$(${FontName}${FontSize}))
但是,这很有效,我得到了预期的结果!谢谢,我也很好奇是否可以不指定新的变量
echo $((${FontName}${FontSize}))
21