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

Multiple indirect variables with let command (GNU/Linux Bash)

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

使用以下方法很容易获取值:

echo $Ubuntu300
21

但是,如何使用变量获得相同的结果?

我试过类似的方法:

echo ${!FontName!FontSize}

但运气不好,我希望我至少接近了!

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

var=$FontName$FontSize

然后使用间接参数展开得到它的值:

echo ${!var}

会输出21

您可能想试试这个:

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

echo $Ubuntu300
21

出于好奇,而不是分配新变量:

echo $((${FontName}${FontSize}))
21