리눅스 셸 스크립트: Break, Continue, Exit, Return 제어문 사용법
리눅스 셸 스크립트는 다양한 제어 흐름 명령어를 제공합니다. 이 글에서는 break, continue, exit, return과 같은 주요 제어 흐름 명령어들에 대해 알아보고, 이들의 사용법과 적절한 사용 상황을 살펴보겠습니다.
1. Break 명령어
Break 명령어는 루프를 즉시 종료시킵니다. 주로 조건이 충족되었을 때 루프에서 탈출하는 데 사용됩니다.
for i in {1..10}; do
if [ "$i" -eq 5 ]; then
break
fi
echo "Counting: $i"
done위 예제에서는 숫자가 5에 도달하면 for 루프를 종료합니다.
2. Continue 명령어
Continue 명령어는 현재 반복을 건너뛰고 다음 반복으로 넘어갑니다. 조건에 따라 특정 반복을 실행하지 않고자 할 때 유용합니다.
for i in {1..10}; do
if [ "$i" -eq 5 ]; then
continue
fi
echo "Counting: $i"
done이 예제에서는 5를 제외한 나머지 숫자를 출력합니다.
3. Exit 명령어
Exit 명령어는 스크립트 전체를 종료시키고, 선택적으로 상태값(Exit status)을 반환할 수 있습니다. 스크립트에서 특정 조건을 만족하거나 오류가 발생했을 때 전체 실행을 중단할 때 사용됩니다.
#!/bin/bash
read -p "Enter your age: " age
if [ "$age" -lt 18 ]; then
echo "You are not old enough."
exit 1
fi
echo "Welcome to the program."
exit 0여기서 사용자의 나이가 18 미만일 때 스크립트는 종료되고 오류 상태 1을 반환합니다.

여기서 echo $?는 가장 최근에 실행된 명령(여기서는 스크립트)의 리턴값을 출력합니다. 20살을 입력했을 때는 0이 출력되며, 이는 스크립트가 성공적으로 종료되었음을 나타냅니다. 15살을 입력했을 때는 1이 출력되며, 이는 스크립트가 오류로 종료되었음을 나타냅니다.
4. Return 명령어
Return 명령어는 함수 내에서 사용되며, 함수를 종료하고 선택적으로 값을 반환합니다. 함수의 실행 결과를 나타내는 데 사용됩니다.
#!/bin/bash
function check_even {
if [ $(($1 % 2)) -eq 0 ]; then
return 0
else
return 1
fi
}
read -p "Enter a number: " number
check_even $number
if [ $? -eq 0 ]; then
echo "Number is even."
else
echo "Number is odd."
fi사용자에게 숫자를 입력 받아 해당 숫자가 짝수인지 홀수인지 확인하는 스크립트입니다. 스크립트는 read 명령을 사용하여 사용자 입력을 받고, 그 입력값을 check_even 함수에 전달합니다. 스크립트는 함수의 반환값을 검사하여 해당 숫자가 짝수인지 홀수인지를 출력합니다.

☞ 이러한 제어 흐름 명령어들은 스크립트의 논리적 구조를 구성하고, 예상치 못한 상황에 대응하여 스크립트의 견고성을 높이는 데 중요한 역할을 합니다. 적절한 명령어 사용은 스크립트의 가독성과 유지 관리성을 향상시킵니다.
관련 이전 게시글
- 리눅스 셸 스크립트: While 문을 활용한 반복 작업 처리 방법
- 리눅스 셸 스크립트: For-In 문을 이용한 반복 처리 방법
- 리눅스 셸 스크립트: 변수 생성 및 사용하기
- 리눅스 셸 스크립트: if 문 사용법과 다양한 비교 방법
- 리눅스 셸 스크립트: Case 문과 패턴 매칭 사용
다음 글에서도 셸 스크립트에 대해 알아볼 예정입니다. 도움이 되셨다면 공유해 주세요!



