Linuxpia/Linux 명령어

[리눅스 명령어] 인수 읽기 명령어, eval

Linuxpia4U 2023. 8. 30. 04:52
반응형

인수 읽기 명령어, eval

 

`eval`은 Bash와 다른 쉘에서 사용되는 내장 명령어입니다. 이 명령어는 주어진 인수들을 쉘 명령어로서 다시 평가하고 실행합니다. 복잡한 스크립트에서 변수의 변수 또는 복잡한 명령어 구성을 평가하고자 할 때 유용하게 사용됩니다.

사용법

 

eval [argument ...]


사용 예



1. 간단한 사용 예

   x=10
   y=20
   a=x
   b=y
   eval z=\$$a+\$$b
   echo $z



   위의 스크립트는 `z`의 값을 `10+20`으로 설정합니다.

2. 동적 변수 이름

   value1=10
   value2=20
   for i in 1 2
   do
       eval temp=\$value$i
       echo "Value $i: $temp"
   done



   이 스크립트는 `value1`과 `value2`의 값을 순서대로 출력합니다.

3. 복잡한 명령어 평가

   command="ls -l"
   eval $command



   이 스크립트는 `ls -l` 명령어를 실행합니다.

정리

 

`eval` 명령어는 매우 강력합니다만, 잘못 사용하면 예기치 않은 결과나 문제를 초래할 수 있습니다. 특히 사용자로부터 입력을 받아 `eval`을 사용하여 실행할 경우 보안 문제가 발생할 수 있습니다. 따라서 `eval`을 사용할 때는 항상 주의가 필요합니다.

반응형