변수의 변수

변수의 변수

내가 여기서 뭘 잘못하고 있는 걸까?

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"

기억은 echo임의의 데이터를 출력하는 데 사용할 수 없으며 매개변수 확장은 목록 컨텍스트에서 인용되어야 합니다.

관련 정보