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