반응형
인수 읽기 명령어, 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`을 사용할 때는 항상 주의가 필요합니다.
반응형
'Linuxpia > Linux 명령어' 카테고리의 다른 글
[리눅스 명령어] 지정된 편집기 받기, fc (2) | 2023.09.02 |
---|---|
[리눅스 명령어] 종료하기 명령어, exit (4) | 2023.08.31 |
[리눅스 명령어] 환경변수 출력하기, env (4) | 2023.08.29 |
[리눅스 명령어] 내부 명령어 지정, enable (1) | 2023.08.28 |
[리눅스 명령어] 장치 배제하기, eject (1) | 2023.08.27 |