来自变量的变量

来自变量的变量

我在这里做错了什么?

A_B_NAME="something"
X=A
Y=B

RESULT=`echo \${X}_\${Y}_NAME`
echo ${RESULT}

结果我总是得到 A_B_NAME,但想要“一些东西”

谢谢!
迈克尔

答案1

您可以eval在这里使用(标准):

eval "RESULT=\$${X}_${Y}_NAME"

或者bash特定的:

varname=${X}_${Y}_NAME
RESULT=${!varname}

进而:

printf '%s\n' "$RESULT"

Rememberecho不能用于输出任意数据,并且在列表上下文中必须引用参数扩展。

相关内容