Bash에서 if...else 문을 사용하는 방법
 
조건문은 거의 모든 프로그래밍 언어에서 의사 결정에 널리 사용됩니다. 특정 조건이 충족되는 경우에만 문을 실행할 수 있습니다. if ... else는 대부분의 프로그래밍 언어에서 조건문으로 사용됩니다. Bash에는if,if...elif...else,if ... else 및 중첩 된if 문이 조건문으로 있습니다.
Bash의if 문
    
if 문의 구문
if Test-Expression
then
  Statements
fi
위의 예에서Test-Expression이True이면Statements가 실행됩니다. fi 키워드는if 문을 종료하는 데 사용됩니다.
Test-Expression이True가 아니면Statements가 실행되지 않습니다.
코드를 더 읽기 쉽고 체계적으로 보이게하기 위해4-space 또는2-space 들여 쓰기를 사용할 수 있습니다.
예 :Bash의if 문
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문이 실행됩니다.
Bash의if ... else 문
if ... else 문의 구문
if Test-Expression
then
  Statements-1
else
  Statements-2
fi
이 예에서Test-Expression이True이면Statements-1이 실행됩니다. 그렇지 않으면Statements-2가 실행됩니다. if ... else 문을 끝내기 위해fi 키워드가 사용됩니다.
예 :Bash의if...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"문이 실행됩니다.
Bash의if...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-1이True이면Statements-1이 실행됩니다. 그렇지 않고Test-Expression-2가True이면Statements-2가 실행됩니다.
테스트 표현식이 True가 아니면 Statements-3이 실행됩니다.
원하는만큼의elif 문을 가질 수 있으며else 문은 선택 사항입니다.
예: Bash의if...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 is a backend software engineer at Matrice.ai.
LinkedIn