osx 쉘은 사용 후 종료됩니다

osx 쉘은 사용 후 종료됩니다

디렉토리를 변경한 다음 실행하는 쉘 스크립트가 있습니다. 스크립트가 종료되면 디렉터리 변경 사항이 명령 프롬프트에 표시되기를 원합니다.

그래서 다음과 같이 실행합니다.

. script

그러나 이제 스크립트가 종료되면 전체 창이 종료됩니다. 이 문제를 해결할 수 있는 방법이 있나요?

내 쉘은 bash입니다.

답변1

Mac에서 이 문제를 해결하는 방법에는 두 가지가 있습니다.

A> 터미널 환경 설정으로 이동하여 [일반]을 선택하고 "셸이 완전히 종료되면 창 닫기" 확인란을 선택 취소합니다.

B> 즐겨 사용하는 텍스트 편집기를 ~/Library/Preferences/com.apple.Terminal.plist로 지정하세요.

행을 찾으십시오.

< 키>ShellExitAction< /key>
< 정수>1< /정수>

1을 2로 변경하고 터미널 앱을 다시 시작하십시오.

B는 기본적으로 A와 동일하지만 수동으로 수행됩니다.

답변2

script진술이 포함되어 있습니까 exit? 점(소싱)은 현재 셸에서 코드를 실행한다는 점을 기억하세요. 따라서 가 있으면 exit현재 쉘이 종료됩니다. 스크립트를 확인 exit하고 return.

소싱(원하는 위치 return) 및 실행(원하는 위치 exit) 을 감지할 수 있습니다.

[[ $BASH_SOURCE != $0 ]] && echo 'running sourced ...'

관련 정보