프로세스가 종료될 때 macOS 터미널을 자동으로 닫는 방법

macOS의 셸 스크립트 팬이라면 스크립트를 실행하면 완료된 후 쓸모없는 터미널 창이 어떻게 남게 되는지 알아차렸을 것입니다. 터미널 설정에서 이 문제를 해결할 수 있습니다.

이 방법은 Finder에서 클릭하거나 사용자 정의 단축키를 설정하여 프로그램을 여는 것과 같이 bash 외부에서 셸 스크립트를 시작하는 경우에만 작동합니다. 그렇지 않으면 명령 프롬프트로 돌아갑니다. 항상 killall 터미널을 사용하여 스크립트 내에서 터미널 앱이 스스로 닫히도록 할 수 있지만, 그렇게 하면 열려 있는 모든 터미널 창이 닫히므로 이상적이지 않습니다.

프로필 설정에서 이 동작 변경

Dock 또는 응용 프로그램 폴더에서 터미널 앱을 연 다음 Command+쉼표를 눌러 설정을 엽니다.

설정 창에서 프로필 탭으로 전환합니다. 기본 프로필(맨 위에 있는 프로필)이 기본적으로 선택되어야 합니다. 오른쪽의 설정에서 “Shell” 탭을 클릭한 다음 “Shell exits” 드롭다운 메뉴를 클릭합니다.

드롭다운 메뉴는 기본적으로 “창을 닫지 않음”으로 설정되어 있지만 “쉘이 완전히 종료되면 닫기”로 변경하고 싶을 것입니다.

매번 닫게 만들 수도 있지만 이 방법을 사용하면 프로세스가 0이 아닌 종료 상태로 종료되는 경우 여전히 오류 메시지가 표시됩니다. 모든 경우에 이 동작을 얻으려면 exit 명령을 사용하여 스크립트를 명시적으로 종료해야 할 수도 있습니다.

Finder에서 시작하는 경우 종료 명령이 스크립트에 자동으로 추가됩니다.

또는 iTerm 사용

아이텀2macOS용으로 널리 사용되는 터미널 대체품은 셸 스크립트가 종료될 때 자동으로 창을 닫습니다. 이미 iTerm을 기본 터미널로 사용하고 있다면 Finder에서 시작된 셸 스크립트가 기본 터미널 앱과 함께 여전히 열려 있다는 것을 알았을 것입니다. 즉, iTerm과 함께 열리도록 스크립트를 설정하지 않는 한 동일한 문제가 계속 발생합니다.

Finder에서 스크립트를 마우스 오른쪽 버튼으로 클릭한 다음 “정보 입수”를 선택하여 열리는 응용 프로그램 스크립트를 변경할 수 있습니다.

이 스크립트를 여는 항목을 변경하는 드롭다운이 있습니다. iTerm으로 설정하고 “모두 변경”을 눌러 이 변경 사항을 모든 스크립트에 적용합니다.

기본적으로 iTerm 창이 이미 열려 있는 경우 별도의 창이 아닌 별도의 탭에서 실행되며 완료되면 탭이 자동으로 닫힙니다.