Computer >> 컴퓨터 >  >> 프로그래밍 >> Bash 프로그래밍

Bash if-else 문 완벽 가이드 – 예제로 배우는 조건문

Bash 스크립팅에서 if-else 문은 다른 프로그래밍 언어와 마찬가지로 프로그램이 의사결정을 내리도록 하는 방법입니다.

if-else 문에서는 if 조건의 평가 결과에 따라 어떤 코드 블록을 실행할지 결정됩니다.

Bash if-else 문 기본 문법

Bash에서 if-else 문의 기본 문법은 다음과 같습니다:

if [condition]
then
    //if block code
else
   // else block code
fi

조건이 true로 평가되면 if 블록의 코드가 실행되고, 조건이 false로 평가되면 else 블록의 코드가 실행됩니다.

참고: if 블록은 조건이 true일 때에만 실행됩니다.
else 문과 else 코드 블록은 필수가 아니며 선택 사항입니다.

또한 if 문은 반드시 fi 키워드로 종료해야 합니다.

조건 비교 연산자

조건문에 사용하는 표현식은 반드시 true 또는 false로 평가되어야 하며, 단일 문자열이나 변수 하나만으로 구성될 수도 있습니다.

  • 미만(작다): $a -lt $b 또는 $a < $b
  • 초과(크다): $a -gt $b 또는 $a > $b
  • 이하(작거나 같다): $a -le $b 또는 $a <= $b
  • 이상(크거나 같다): $a -ge $b 또는 $a >= $b
  • 같음: $a -eq $b 또는 $a == $b
  • 같지 않음: $a -ne $b 또는 $a != $b

논리 연산자

if 문 안의 표현식은 여러 비교 조건을 논리적으로 결합한 형태일 수도 있습니다.

주요 논리 연산자는 다음과 같습니다:

  • 논리곱(AND): $a AND $b 또는 $a && $b — 두 변수 또는 조건이 모두 참일 때만 true를 반환합니다.
  • 논리합(OR): $a OR $b 또는 $a || $b — 변수 또는 조건 중 하나라도 참이면 true를 반환합니다.

참고: 논리 연산자를 사용할 때는 조건식을 반드시 이중 대괄호 [[ ]]로 감싸야 합니다.

예를 들어:

#!/bin/bash

first_name="John"
last_name="Doe"

if [[ $first_name = "John" && $last_name = "Doe" ]]
then
echo 'hello John Doe'
fi

Bash if 예제

if 문은 가장 단순한 형태의 조건문입니다. if [ ] 안의 조건이 true로 평가되면 if 코드 블록이 실행됩니다.

예제:

#!/bin/bash

read -p "Enter a number: " mynumber

if [ $mynumber -gt 10 ]
then
    echo "The number you entered is greater than 10"
fi

참고: 위 예제에서 10보다 작은 숫자를 입력하면 아무것도 출력되지 않습니다.

Bash if-else 예제

if 조건의 결과가 false이면, else 블록이 존재하는 경우 해당 블록의 코드가 실행됩니다.

예를 들어:

#!/bin/bash

read -p "Enter a number: " mynumber

if [ $mynumber -gt 10 ]
then
    echo "The number you entered is greater than 10"
else
    echo "The number you entered is less than 10"
fi

Bash if-elif-else 예제

elif(else if)는 여러 개의 if 조건을 처리해야 할 때 사용합니다.

예를 들어:

#!/bin/bash

read -p "Enter your exam grade: " grade

if [ $grade -ge 80 ]
then
    echo "You got A"

elif [ $grade -ge 70 ]
then
    echo "You got B"

elif [ $grade -ge 60 ]
then
    echo "You got C"
else
    echo "Fail"
fi

Bash 중첩(nested) if 예제

if 문은 서로 중첩하여 사용할 수도 있습니다.

예를 들어:

#!/bin/bash

read -p "Enter value of a :" a
read -p "Enter value of b :" b
read -p "Enter value of c :" c

if [ $a -gt $b ]
then
    if [ $a -gt $c ]
    then
        echo "a is greatest"
    else
        echo "c is greatest"
    fi
else
    if [ $b -gt $c ]
    then
        echo "b is greatest"
    else
        echo "c is greatest"
    fi
fi