变量内部的Shell变量

时间:2015-10-20 23:30:50

标签: bash

这种替代有什么问题。

$ m_d_ver=0.2
$ m=mod
$ d=dom
$ echo ${$m_$d_ver}
-bash: ${$m_$d_ver}: bad substitution

谢谢,

1 个答案:

答案 0 :(得分:5)

您尝试做的是间接变量查找。其语法为${!namevar},其中namevar是包含您实际要评估的名称的变量。因此:

mod_dom_ver=0.2
m=mod
d=dom
var=${m}_${d}_ver
echo "${!var}"

请参阅BashFAQ #006