종료(exit)와 종료 상태(exit status)

종료 (exit)

종료 상태는 리턴값(return value, return status)이라고 부르는데, 이전에 수행했던 명령어나 프로그램이 종료될 때 넘겨주는 값을 의미한다.

쉘 스크립트 작성 시 특정 명령어의 성공 여부에 따라 분기해야하는 경우 이전 명령어가 정상적으로 수행되었는지 아는것이 필수 적이다.

쉘 스크립트 내에서 exit 명령어가 실행되면 스크립트가 종료되며 부모 프로세스에 종료 상태를 전달할 수 있다.

#!/bin/bash
echo "hello"

exit 100

위 스크립트는 종료하면서 100이라는 값을 리턴한다.

0 부터 255 까지 사용할 수 있다.

일반적으로 0은 성공, 1~255는 오류 코드로 인식한다.

만일 exit를 매개변수 없이 사용하게 되면 exit가 실행되기 이전에 가장 마지막으로 수행했던 명령어의 종료 상태를 반환하게 된다.

종료 상태(exit status)

$? 는 가장 최근 명령어의 종료 상태를 나타낸다.

#!/bin/bash
echo "hello"

exit 100

잘못된 명령어를 입력하여 오류가 발생한 경우 아래와 같이 오류 코드가 반환된다.

명령어가 정상적으로 수행되면 0을 반환한다

Last updated