eval 명령을 사용하여 매개변수 값을 인쇄하는 방법

eval 명령을 사용하여 매개변수 값을 인쇄하는 방법

eval 명령을 사용하여 매개변수 값을 인쇄하는 방법을 알려주십시오.

예를 들어

세게 때리다

a=1
b=2
c=3


for i in ` echo a b c `
> do
> echo "$i=` eval $i ` "
> done

bash: a: command not found
a= 
bash: b: command not found
b= 
bash: c: command not found
c= 

요청한 출력을 얻지 못하는 이유는 무엇입니까( for루프 명령에서)

 a=1
 b=2
 c=3

답변1

eval이 예에서는 사용할 필요가 없습니다.

eval $ieval명령 내용을 강제로 평가합니다 . 이로 인해 보고서와 같은 오류가 표시됩니다.ib: command not found

더 좋은 방법은 bash를 사용하여 매개변수 값을 인쇄하는 것입니다.변수 참조

for i in a b c; do echo "$i=${!i}"; done
a=1
b=2
c=3

관련 정보