[shell] 함수 호출과 반환값 활용

함수는 프로그램에서 코드 블록을 재사용하기 위해 사용됩니다. 이번 블로그에서는 shell 스크립트에서 함수를 정의하고 호출하는 방법, 그리고 함수의 반환값을 다루는 방법에 대해 알아보겠습니다.

함수 정의와 호출

함수를 정의할 때는 function 키워드를 사용하고, 함수를 호출할 때는 함수 이름을 사용합니다.

function my_function() {
    # 함수 내용
}

# 함수 호출
my_function

함수를 호출할 때는 함수 이름 다음에 괄호를 사용하지 않는 것에 주의해야 합니다.

반환값 다루기

함수에서 반환값을 사용하려면 return 키워드를 사용합니다. 반환값은 0부터 255까지의 숫자 중 하나이며, 0은 성공, 그 외의 숫자는 실패를 의미합니다.

function get_random_number() {
    local number=$((RANDOM % 100))
    if [[ $number -lt 50 ]]; then
        return 0
    else
        return 1
    fi
}

위 예제에서 get_random_number 함수는 0부터 99까지의 난수를 생성하고, 이 숫자가 50보다 작을 때는 0을, 그렇지 않을 때는 1을 반환합니다.

함수를 호출하고 반환값을 변수에 저장하려면 $? 변수를 사용합니다.

get_random_number
result=$?
if [[ $result -eq 0 ]]; then
    echo "Generated number is less than 50"
else
    echo "Generated number is greater than or equal to 50"
fi

위 코드에서는 get_random_number 함수를 호출하고, 반환값을 result 변수에 저장한 후, 저장된 값에 따라 메시지를 출력하는 예제입니다.

함수 호출과 반환값 활용을 통해 shell 스크립트를 더욱 유연하고 강력하게 만들어보세요!