sh + 명령을 실행하고 매개변수에 설정하는 방법( VAL )

sh + 명령을 실행하고 매개변수에 설정하는 방법( VAL )

다음 명령을 살펴보십시오. (쉘은)

나에게는 명확하지 않은 것

내가 달릴 때 - 평가 에코 \$arr$n, 값을 얻습니다예상대로

왜: VAL=eval echo \$arr$n, 그리고$VAL 에코같은 값을 인쇄하지 않음?

arr1에 값을 설정하십시오.

# n=1
# eval arr$n=a

arr1의 값을 인쇄합니다.

# n=1
# eval echo \$arr$n
  a

세트평가 에코 \$arr$n 안으로및 인쇄$VAL

# VAL=` eval echo \$arr$n `
# echo $VAL
{*}1

명령에서 수정해야 할 사항 -VAL=eval echo \$arr$n, 그래서 내가 할 때$VAL 에코나는 그 가치를 얻을 것이다 ?

답변1

$()역따옴표 대신 다음을 사용해 보세요 .

VAL=$(eval echo \$arr$n)

관련 정보