$ cat somefile
sleep 100
$ exec < somefile
$ sleep 100
호출 프로세스가 완료 시 종료된다는 점을 제외하면 exec < somefile
다른 프로세스와 동일하게 동작합니까?source somefile
감사해요.
답변1
효과는 비슷하지만 동작이 완전히 동일하지는 않습니다.
exec < somefile
somefile
쉘이 현재 연결된 터미널 대신 해당 파일에서 읽기를 시작하도록 표준 입력을 연결합니다 . (적어도 bash는 그렇습니다. Zsh는 다르게 동작합니다.) 실제로 이로 인해 현재 쉘은 그것이 무엇이든 somefile
마치 처리된 것처럼 처리하게 됩니다 source somefile
. 일단 소진되면 somefile
쉘이 종료됩니다.