ksh 변수 대체 형식?

ksh 변수 대체 형식?

var1EMI, var2EMI, 등 var1DDE이라는 이름의 변수가 있는데 var2DDE다음과 같이 반복할 수 있어야 합니다.

for dir in var1 var2
do
  echo "EMI value for " $dir " is " ${${dir}EMI}
  echo "DDE value for " $dir " is " ${${dir}DDE}
done

${${dir}EMI}교체 문제를 해결하는 방법을 모르겠습니다 .

답변1

ksh 93에는 nameref변수에 대한 "별칭"을 생성할 수 있는 명령이 있습니다.

var1EMI=a
var2EMI=b
for v in var1 var2; do 
  nameref var=${v}EMI
  echo "${v}EMI is $var"
done
var1EMI is a
var2EMI is b

ksh88의 경우 다음을 사용해야 할 수도 있습니다 eval.

nameref var=${v}EMI

그리고:

eval var=\$${v}EMI

관련 정보