리눅스 셸 스크립트: Break, Continue, Exit, Return 제어문 사용법

리눅스 셸 스크립트: 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을 반환합니다.

리눅스 Exit 명령어 사용 예제


여기서 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 함수에 전달합니다. 스크립트는 함수의 반환값을 검사하여 해당 숫자가 짝수인지 홀수인지를 출력합니다.

리눅스 return 명령어 사용 예제

관련 이전 게시글

위로 스크롤