Bash에서 if...else 문을 사용하는 방법

Suraj Joshi 2023년1월30일
  1. Bashif
  2. Bashif ... else
  3. Bashif...elif...else
  4. Bash의 중첩if
Bash에서 if...else 문을 사용하는 방법

조건문은 거의 모든 프로그래밍 언어에서 의사 결정에 널리 사용됩니다. 특정 조건이 충족되는 경우에만 문을 실행할 수 있습니다. if ... else는 대부분의 프로그래밍 언어에서 조건문으로 사용됩니다. Bash에는if,if...elif...else,if ... else 및 중첩 된if 문이 조건문으로 있습니다.

Bashif

if 문의 구문

if Test-Expression
then
  Statements
fi

위의 예에서Test-ExpressionTrue이면Statements가 실행됩니다. fi 키워드는if 문을 종료하는 데 사용됩니다.

Test-ExpressionTrue가 아니면Statements가 실행되지 않습니다.

코드를 더 읽기 쉽고 체계적으로 보이게하기 위해4-space 또는2-space 들여 쓰기를 사용할 수 있습니다.

예 :Bashif

echo -n "Enter numnber : "
read n
 
rem=$(( $n % 2 ))
 
if [ $rem -eq 0 ]
then
  echo "$n is even number"
fi

출력:

Enter numnber : 4
4 is even number

사용자로부터 숫자를 받아들이고 숫자가 짝수 인 경우에만 출력을 제공합니다.

숫자가 짝수이면 숫자를 2로 나눌 때 나머지는 0입니다. 따라서 test-expression은 True이므로 echo문이 실행됩니다.

Bashif ... else

if ... else 문의 구문

if Test-Expression
then
  Statements-1

else
  Statements-2
fi

이 예에서Test-ExpressionTrue이면Statements-1이 실행됩니다. 그렇지 않으면Statements-2가 실행됩니다. if ... else 문을 끝내기 위해fi 키워드가 사용됩니다.

예 :Bashif...else

echo -n "Enter numnber : "
read n
 
rem=$(( $n % 2 ))
 
if [ $rem -eq 0 ]
then
  echo "$n is even number"
else
  echo "$n is odd number"
fi

출력:

Enter numnber : 5
4 is odd number

사용자로부터 숫자를 받아 입력 된 숫자가 정확히 2로 나눌 수 있는지 여부에 따라 출력을 제공합니다.

숫자가 짝수이면 숫자를 2로 나눌 때 나머지는 0입니다. 따라서 test-expression은True이고echo "$n is even number"문이 실행됩니다.

숫자가 홀수이면 나머지는 0이 아닙니다. 따라서 테스트 표현식은False이고echo "$n is odd number"문이 실행됩니다.

Bashif...elif...else

if...elif...else 문의 구문

if Test-Expression-1
then
  Statements-1
elif Test-Expression-2
then
  Statements-2

else
  Statements-3
fi

Test-Expression-1True이면Statements-1이 실행됩니다. 그렇지 않고Test-Expression-2True이면Statements-2가 실행됩니다.

테스트 표현식이 True가 아니면 Statements-3이 실행됩니다.

원하는만큼의elif 문을 가질 수 있으며else 문은 선택 사항입니다.

예: Bashif...elif...else

echo -n "Enter the value of a: "
read a

echo -n "Enter the value of b: "
read b

if [ $a -lt $b ]
then
   echo "a is less than b"
   
elif [ $a -gt $b ]
then
   echo "a is greater than b"

else
   echo "a is equal to b"
fi

출력:

Enter the value of a: 4
Enter the value of b: 4
a is equal to b

사용자 입력으로 두 개의 숫자를 받아들이고 어떤 테스트 표현식이 참인지에 따라 결과를 인쇄합니다.

a<b이면 프로그램은a is less than b를 출력합니다.

a>b이면 프로그램은a is greater than b을 인쇄합니다.

조건문이 모두 참이 아니면 프로그램은a is equal to b를 출력합니다.

Bash의 중첩if

if문이 다른 if문 안에 배치되면 중첩 된 if문이라고합니다.

echo -n "Enter numnber : "
read a
 
rem=$(( $a % 2 ))
 
if [ $rem -eq 0 ]
then
  if [ $a -gt 10 ]
  then
    echo "$a is even number and greater than 10."
	
  else
    echo "$a is even number and less than 10."
  fi
else
  echo "$a is odd number"
fi

출력:

Enter numnber : 46
46 is even number and greater than 10.

중첩 된 if문의 사용법을 보여줍니다. 숫자가 정확히 2로 나눌 수 있고 10보다 크면 echo "$a is even number and greater than 10."문이 실행됩니다.

작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn