bash shell에서 exec와 eval 기능 설명


bash shell에서 exec와 eval 기능 설명

eval과 exec는 둘다 bash의 내장 명령어 입니다. evec $ help exec exec: exec [-cl] [-a name] [command [arguments ...]] [redirection ...] Replace the shell with the given command. exec cmd가 하는 일은, 그냥 cmd를 실행 했을때와 완전히 동일합니다. 다만, 다른 프로세스를 띄워서 명령어를 실행하는것이 아닌, 현재의 쉘을 명령어로 대체하게 됩니다. 내부적으로는, 예를들어 /bin/ls를 실행 할 경우 fork()를 호출하여서 자식 프로세스를 만든 후에 생성된 자식 프로세스 내에서 exec()를 재호출해서 /bin/ls를 실행하게 됩니다. exec /bin/ls는 이 과정(fork() 호출)을 거치지 않고 명령어를 실행하게 됩니다. 아래의 두 예제를 봅시다. $ bash -c 'echo $$ ; ls -l /proc/self ; echo foo' 7218 lrwxrwx...


#bash #eval #exec

원문링크 : bash shell에서 exec와 eval 기능 설명