exit
100%

명령줄 · 레슨 19

exit

현재 쉘을 종료하고 호출자에게 반환할 상태를 선택하는 방법을 배웁니다.

쉘은 중첩될 수 있습니다. 그래픽 터미널은 쉘을 시작하고, SSH 연결은 원격 쉘을 시작하며, 한 쉘이 다른 쉘을 시작할 수도 있습니다. 쉘 하나를 종료하면 보통 현재 쉘을 시작한 대상에 제어권이 돌아갑니다.

현재 쉘 종료하기

셸 세션을 종료하는 가장 일반적인 방법은 exit 명령어를 사용하는 것입니다. exit를 입력하고 Enter 키를 누르면 현재 셸 프로세스가 종료됩니다. 이 명령어는 거의 모든 셸 환경에서 작동합니다.

$ exit

현재 쉘이 그래픽 터미널 탭의 주 프로세스라면 터미널 설정에 따라 탭이 닫힐 수 있습니다. SSH에서는 원격 쉘을 나가 로컬 쉘로 돌아가고, 중첩 쉘에서는 상위 쉘로 돌아갑니다.

다른 쉘 안에서 Bash를 시작했고 이제 상위 쉘로 돌아가려 합니다. 중첩된 Bash에서 어떤 명령어를 실행해야 하나요?

종료 상태 반환하기

exit 명령어는 상태 코드도 반환할 수 있습니다. 상태 코드가 0이면 보통 성공을 의미하고, 0이 아닌 값은 오류나 특별한 조건을 나타냅니다.

$ exit 0

관례상 0은 성공을, 0이 아닌 값은 실패나 프로그램이 정의한 다른 조건을 뜻합니다. Bash에 숫자를 주지 않으면 exit 직전에 실행한 마지막 명령어의 상태로 종료합니다.

현재 쉘을 종료하면서 호출자에게 성공을 명시적으로 알리는 명령어는 무엇인가요?

Bash에서 숫자를 지정하지 않은 exit는 어떤 상태를 반환하나요?

로그인 쉘에서 logout 사용하기

logout은 Bash 로그인 쉘을 종료하도록 설계된 내장 명령어입니다.

$ logout

로그인 쉘이 아닌 Bash에서는 로그인 쉘이 아니라는 오류를 표시하므로 대신 exit를 사용합니다.

로그인 쉘을 종료하도록 특별히 마련된 Bash 내장 명령어는 무엇인가요?

Ctrl+D 사용 또는 터미널 닫기

빈 대화형 프롬프트에서 Ctrl+D를 누르면 보통 터미널의 입력 끝 문자를 제공합니다. Bash는 이를 흔히 종료 요청으로 해석합니다. 이는 신호가 아니며 Bash의 ignoreeof 같은 설정에 따라 동작이 달라질 수 있습니다.

그래픽 터미널 창을 닫으면 터미널 애플리케이션이 프로세스들을 닫도록 요청해 실행 중인 작업에 영향을 줄 수 있습니다. 가능하면 정상적인 exit를 사용하고 세션을 닫기 전에 활성 작업을 확인하세요.

레슨 완료

exit 완료

이제 현재 쉘을 종료하고 완료 상태를 전달할 수 있습니다.

  • exit로 현재 쉘의 호출자에게 돌아갈 수 있습니다.

  • 성공에는 0, 그 밖에는 정의된 0이 아닌 상태를 전달할 수 있습니다.

  • 숫자 없는 exit가 사용하는 상태를 이해할 수 있습니다.

  • 로그인 쉘에서만 logout을 사용할 수 있습니다.

  • Ctrl+D가 신호가 아니라 입력 끝임을 알아볼 수 있습니다.

학습 진행 상황 저장

무료 계정을 만들어 이 레슨을 저장하고 어떤 기기에서든 계속 학습하세요.

무료 계정 만들기
명령줄(으)로 돌아가기