조건문(if, else, elif)
'if', 'else', 'elif' 조건문을 사용해 스크립트에 의사 결정 논리를 구현하고 동적으로 동작하도록 만듭니다.
조건문(if, else, elif)은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.
조건문이 중요한 이유
Bash 스크립팅에서는 스크립트가 판단을 내려야 할 때가 있습니다. 사용자 입력이나 파일의 존재 여부에 따라 서로 다른 작업을 수행하는 스크립트를 생각해 보세요.
이때 조건문이 사용됩니다! 조건문을 사용하면 특정 조건이 충족될 때만 스크립트가 특정 코드 블록을 실행하도록 할 수 있습니다.
기본 `if` 문
가장 간단한 조건문은 if 문입니다. 조건을 확인하고, 조건이 참이면 명령 블록을 실행합니다.
구문은 다음과 같습니다.
if [ condition ]then# commands if condition is truefi(if블록의 끝을 나타냄)
첫 `if` 스크립트
기본 if 문이 어떻게 작동하는지 살펴보겠습니다. 이 스크립트는 숫자가 5보다 큰지 확인합니다.
NUMBER 값을 변경한 뒤 실행해 보세요!
#!/bin/bash
NUMBER=10
if [ $NUMBER -gt 5 ]
then
echo "The number $NUMBER is greater than 5."
fi
echo "Script finished."테스트 조건 만들기
[ condition ] 부분은 매우 중요합니다. 실제로 이는 test라는 명령 또는 그 별칭인 [입니다.
[[ condition ]]도 사용할 수 있습니다. 이는 더 발전된 형태로, 더 나은 구문을 제공하고 단어 분리 문제를 방지합니다. 초보자에게는 [ ]이 일반적입니다.
- 대괄호와 연산자 양쪽에는 항상 공백을 넣으세요.
[ ]안의 변수는 일반적으로 따옴표로 묶어야 합니다(예:"$VARIABLE"). 그래야 값이 비어 있거나 여러 단어로 이루어진 경우 발생하는 오류를 방지할 수 있습니다.
숫자 비교하기
Bash에서 숫자를 비교할 때는 특정 연산자를 사용합니다.
-eq: 같음-ne: 같지 않음-gt: 보다 큼-ge: 크거나 같음-lt: 보다 작음-le: 작거나 같음
이 연산자들은 [ ] 또는 [[ ]] 안에서 사용합니다.
문자열 비교하기
텍스트(문자열)를 비교할 때는 다른 연산자를 사용합니다.
==또는=: 같음([[ ]]에서는==을 권장함)!=: 같지 않음-z "$STRING": 문자열이 비어 있으면 참(길이가 0임)-n "$STRING": 문자열이 비어 있지 않으면 참(길이가 0이 아님)
문자열 변수는 따옴표로 묶어야 한다는 점을 기억하세요!
`if-else` 문
조건이 참일 때 한 코드 블록을 실행하고, 거짓일 때 다른 코드 블록을 실행하려면 어떻게 해야 할까요?
이때 사용하는 것이 if-else입니다! 스크립트에 대체 경로를 제공합니다.
구문은 다음과 같습니다.
if [ condition ]then# commands if trueelse# commands if falsefi
`if-else` 실행해 보기
이 스크립트는 숫자를 입력받아 양수인지 아닌지 알려 줍니다. if-else 구조를 사용합니다.
서로 다른 입력(예: 5, -3, 0)을 사용해 여러 번 실행해 보세요.
#!/bin/bash
read -p "Enter a number: " NUM
if [ "$NUM" -gt 0 ]
then
echo "$NUM is a positive number."
else
echo "$NUM is not a positive number (it's zero or negative)."
fi`elif`로 여러 선택지 처리하기
가능한 결과가 두 가지보다 많다면 elif("else if"의 줄임말)를 사용할 수 있습니다. 이를 통해 여러 조건을 순서대로 확인할 수 있습니다.
구문은 다음과 같습니다.
if [ condition1 ]then# commands if condition1 is trueelif [ condition2 ]then# commands if condition1 is false AND condition2 is trueelse# commands if all conditions are falsefi
고급 의사 결정 논리
if, elif, else를 사용해 사용자의 나이를 분류하는 스크립트를 만들어 보겠습니다. 이 스크립트는 여러 상황을 처리합니다.
[[ ]]에서 조건을 결합하기 위해 &&(논리 AND)를 사용하는 것에 주목하세요.
#!/bin/bash
read -p "Enter your age: " AGE
if [[ $AGE -lt 13 ]]
then
echo "You are a child."
elif [[ $AGE -ge 13 && $AGE -lt 18 ]]
then
echo "You are a teenager."
elif [[ $AGE -ge 18 && $AGE -lt 65 ]]
then
echo "You are an adult."
else
echo "You are a senior citizen."
fi조건 확인
다음 Bash 스크립트를 살펴보세요.
#!/bin/bash
SCORE=85
if [ $SCORE -lt 60 ]
then
echo "Fail"
elif [ $SCORE -lt 80 ]
then
echo "Pass"
else
echo "Distinction"
fi조건문 요약
잘하셨습니다! 조건문을 사용해 Bash 스크립트를 더 똑똑하게 만드는 방법을 배웠습니다.
if문은 조건이 참일 때 코드를 실행합니다.else는if조건이 거짓일 때 대체 경로를 제공합니다.elif를 사용하면 여러 조건을 순서대로 확인할 수 있습니다.- 적절한 연산자(
-eq는 숫자에,==는 문자열에 사용)를 사용하고if블록은 항상fi로 닫아야 합니다.
이 도구들은 동적이고 대화형인 스크립트를 만드는 데 필수적입니다!
자주 묻는 질문
“조건문(if, else, elif)” 강의는 무료인가요?
네 — “조건문(if, else, elif)” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.
“조건문(if, else, elif)”에서 뭘 배우나요?
'if', 'else', 'elif' 조건문을 사용해 스크립트에 의사 결정 논리를 구현하고 동적으로 동작하도록 만듭니다. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“조건문(if, else, elif)” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 첫 Bash 스크립트와 셸뱅
- 변수와 사용자 입력
- 조건문(if, else, elif)
- Bash에서 배열 다루기