본문 바로가기

Linux Distribution

eval 명령어

728x90
반응형

eval 명령어

eval 명령어는 문자열로 표현된 명령어를 실행하는 데 사용됩니다. 즉, 변수에 저장된 문자열을 명령어로 해석하고 실행할 때 유용합니다.

기본 문법

eval "command"
  • "command" : 실행할 명령어(문자열)
  • eval은 문자열을 한 번 더 해석한 후 실행한다는 점이 특징입니다.

eval 사용 예시

1. 변수에 저장된 명령 실행

eval "$CMD"를 실행하면 "ls -l"이 명령어로 실행됩니다.

CMD="ls -l"
eval "$CMD"

2. 다중 변수 확장 (동적 변수 이름)

$USER 환경 변수를 출력합니다. \$$var_name은 $USER로 변환된 후 실행됩니다.

var_name="USER"
eval "echo \$$var_name"

3. 동적으로 생성된 명령어 실행

eval을 사용하면 cmd="ls -l /var/log"가 실행됩니다.

dir="/var/log"
cmd="ls -l $dir"
eval "$cmd"

4. 동적 alias 실행

eval "$command"를 실행하면 ll alias가 적용되어 ls -al이 실행됩니다.

alias ll="ls -al"
command="ll"
eval "$command"

5. 명령어 조합 실행

Hello와 World가 출력됩니다.

cmd1="echo Hello"
cmd2="echo World"
eval "$cmd1; $cmd2"

6. 백틱(``)과 eval을 함께 사용

eval "date"는 현재 날짜를 출력하는 date 명령을 실행합니다.

var="date"
eval "$var"

 

참고URL

- Ubuntu Manpage : eval command

 

728x90
반응형