다음 명령을 살펴보십시오. (쉘은쉿)
나에게는 명확하지 않은 것
내가 달릴 때 - 평가 에코 \$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)