Unix Shell 에서 쉘스크립트 또는 프로그램(명령어)을 실행하는 다양한 방법이 있다. 각각의 방식에 따라 수행되는 프로세스가 현재 쉘의 프로세스에서 실행될 수도 있고, 자식 프로세스에서 실행될 수도 있다.
. cmd.sh
: current process 에서 실행됨source cmd.sh
: current process.
와 source
는 스크립트 내부에서 cd하면 현재 shell에서 디렉터리 이동한다.bash cmd.sh
: child process./cmd.sh
: child processexec a.out
: current process 인 shell이 a.out로 대체되어버림. 따라서 a.out가 동작한뒤 shell이 바로 종료.eval a.out
: child process ( script는 사용불가 cmd만 사용 가능)