Linux Bash shell script

Linux Bash Shell Script 조건문 [ if-else, elif ] 사용법

임베디드 친구 2025. 1. 21. 08:54
반응형

Bash Shell Script에서 조건문은 스크립트의 흐름을 제어하는 중요한 도구입니다. 오늘은 if-elseelif 조건문을 사용하는 방법에 대해 알아보고, 다양한 예제와 함께 설명하겠습니다.


1. 기본 if-else 구문

if-else는 특정 조건이 참인지 확인하고, 그에 따라 다른 명령을 실행합니다. 기본 구문은 다음과 같습니다:

if [ 조건 ]; then
    # 조건이 참일 때 실행되는 코드
else
    # 조건이 거짓일 때 실행되는 코드
fi

예제 1: 숫자 비교

#!/bin/bash

num=10

if [ "$num" -gt 5 ]; then
    echo "숫자 $num은 5보다 큽니다."
else
    echo "숫자 $num은 5보다 크지 않습니다."
fi

실행 결과:

숫자 10은 5보다 큽니다.

2. elif 사용하기

elif는 여러 조건을 순차적으로 검사할 때 사용됩니다. elif는 "else if"의 줄임말입니다.

기본 구문

if [ 조건1 ]; then
    # 조건1이 참일 때 실행되는 코드
elif [ 조건2 ]; then
    # 조건2가 참일 때 실행되는 코드
else
    # 모든 조건이 거짓일 때 실행되는 코드
fi

예제 2: 여러 조건 비교

#!/bin/bash

num=15

if [ "$num" -lt 10 ]; then
    echo "숫자 $num은 10보다 작습니다."
elif [ "$num" -eq 15 ]; then
    echo "숫자 $num은 15와 같습니다."
else
    echo "숫자 $num은 10보다 크고 15와 같지 않습니다."
fi

실행 결과:

숫자 15는 15와 같습니다.

3. 조건 표현식

Bash에서 조건은 다양한 형태로 표현할 수 있습니다. 아래는 자주 사용되는 조건 표현식입니다:

표현식 의미
[ -n "$str" ] 문자열이 비어있지 않으면 참
[ -z "$str" ] 문자열이 비어 있으면 참
[ "$str1" = "$str2" ] 두 문자열이 같으면 참
[ "$str1" != "$str2" ] 두 문자열이 다르면 참
[ $num1 -eq $num2 ] 두 숫자가 같으면 참
[ $num1 -ne $num2 ] 두 숫자가 다르면 참
[ $num1 -gt $num2 ] num1이 num2보다 크면 참
[ $num1 -lt $num2 ] num1이 num2보다 작으면 참
[ $num1 -ge $num2 ] num1이 num2보다 크거나 같으면 참
[ $num1 -le $num2 ] num1이 num2보다 작거나 같으면 참

4. 복합 조건

if 조건문은 논리 연산자를 사용하여 여러 조건을 결합할 수 있습니다.

논리 연산자 의미
&& AND (모든 조건이 참이면 참)
`

예제 3: 복합 조건 사용

#!/bin/bash

num=20

if [ "$num" -gt 10 ] && [ "$num" -lt 30 ]; then
    echo "숫자 $num은 10보다 크고 30보다 작습니다."
else
    echo "숫자 $num은 10보다 작거나 30보다 큽니다."
fi

실행 결과:

숫자 20은 10보다 크고 30보다 작습니다.

5. 문자열 비교

Bash에서 문자열을 비교할 때는 = 또는 != 연산자를 사용합니다.

예제 4: 문자열 비교

#!/bin/bash

str="hello"

if [ "$str" = "hello" ]; then
    echo "문자열은 hello입니다."
else
    echo "문자열은 hello가 아닙니다."
fi

실행 결과:

문자열은 hello입니다.

6. 실전 예제: 사용자 입력 처리

예제 5: 사용자 입력 기반 조건문

#!/bin/bash

read -p "점수를 입력하세요: " score

if [ "$score" -ge 90 ]; then
    echo "점수 $score: 매우 우수"
elif [ "$score" -ge 70 ]; then
    echo "점수 $score: 우수"
elif [ "$score" -ge 50 ]; then
    echo "점수 $score: 보통"
else
    echo "점수 $score: 미흡"
fi

실행 결과:

점수를 입력하세요: 85
점수 85: 우수

7. 정리

Bash의 if-elseelif 조건문은 스크립트의 흐름을 제어하는 데 매우 유용합니다. 위에서 다룬 기본 구문과 다양한 조건 표현식, 복합 조건 사용법을 익혀 실전에서 활용해 보세요. 조건문은 간단한 스크립트에서 복잡한 자동화 작업까지 널리 사용됩니다.

반응형