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 $i
eval
명령 내용을 강제로 평가합니다 . 이로 인해 보고서와 같은 오류가 표시됩니다.i
b: command not found
더 좋은 방법은 bash를 사용하여 매개변수 값을 인쇄하는 것입니다.변수 참조
for i in a b c; do echo "$i=${!i}"; done
a=1
b=2
c=3