这种替代有什么问题。
$ m_d_ver=0.2
$ m=mod
$ d=dom
$ echo ${$m_$d_ver}
-bash: ${$m_$d_ver}: bad substitution
谢谢,
答案 0 :(得分:5)
您尝试做的是间接变量查找。其语法为${!namevar}
,其中namevar
是包含您实际要评估的名称的变量。因此:
mod_dom_ver=0.2
m=mod
d=dom
var=${m}_${d}_ver
echo "${!var}"
请参阅BashFAQ #006。