답변:
exec false하여 명령을 실행하여 현재 쉘을 대체하고 false(여기 안 쉘 내장 만 /bin/false또는 무엇이든 false에서 먼저 실행 PATH한 빨리 종료). 쉘이 터미널 에뮬레이터에서 실행되는 최상위 프로세스 인 경우 더 이상 프로세스가 실행되지 않으므로 터미널 에뮬레이터가 닫힙니다.
이것은 많은 유사한 명령과 마찬가지로 터미널을 닫을 수있는 대체 방법입니다.
exec true
exec sleep 0
exec echo
...
bash를 exec포함하여 호출하기 전에 특정 정리를 수행 합니다 .bash_history. 따라서 단순히 .bash_history같은 터미널 창에서 새 쉘에 저장 하고 새 쉘을 시작하려는 경우을 입력하면됩니다 exec bash.
exec는 PATH내장이 아닌에 있는 명령을 호출합니다 . 예를 들어, 오류 exec [[ $USER = root ]]를 반환 bash: exec: [[: not found합니다. OP의 경우 쉘 내장이 아닌 falseis /bin/false입니다. 그렇지 않으면 좋은 대답이므로 +1입니다. 참고로, exec컷오프 명령의 일종이 될 수 있습니다. 예를 들어 예제의 세 가지 명령을 스크립트로 만든 경우 스크립트에 의해 호출 된 쉘을 오른쪽에있는 명령으로 대체 exec하기 때문에 처음 에는 도달 할 수 없습니다. exec의 exec.