if 문
Coddy Terminal 여정의 기초 섹션에 포함된 레슨 — 82개 중 70번째.
지금까지 스크립트는 결정 없이 위에서 아래로 모든 명령어를 순서대로 실행했습니다. 하지만 특정 조건에 따라 스크립트가 다른 일을 하게 하고 싶다면 어떻게 할까요? 그때 if 문이 등장합니다.
if 문은 스크립트가 결정을 내릴 수 있게 합니다. 조건이 참인지 확인하고, 그렇다면 코드 블록을 실행합니다. 다음은 기본 구조입니다:
#!/bin/bash
age=18
if [ $age -ge 18 ]; then
echo "You are an adult"
fi조건은 공백이 둘러싸인 대괄호 안에 들어갑니다. then 키워드는 실행할 코드의 시작을 표시하며, fi (if를 거꾸로 쓴 것)는 문장을 종료합니다.
조건이 거짓인 경우를 else를 사용하여 처리할 수도 있습니다:
#!/bin/bash
age=15
if [ $age -ge 18 ]; then
echo "You are an adult"
else
echo "You are a minor"
fi숫자에 대한 일반적인 비교 연산자는 -eq (같음), -ne (같지 않음), -gt (보다 큼), -lt (보다 작음), -ge (크거나 같음), 그리고 -le (작거나 같음)를 포함합니다. 문자열의 경우, 같음에는 =를, 같지 않음에는 !=를 사용하세요.
대괄호 안에 항상 공백을 포함하고 변수를 따옴표로 감싸서 빈 값으로 인한 오류를 피하세요.
챌린지
쉬움check_score.sh라는 쉘 스크립트를 생성하여 if 문을 사용해 테스트 점수를 평가하세요.
스크립트는 다음을 수행해야 합니다:
- 쉘뱅 라인(
#!/bin/bash)으로 시작하세요 score라는 변수에75값을 생성하세요- 점수가 70과 같거나 큰지 확인하기 위해 if 문을 사용하세요
- 참이면 출력:
You passed! - 거짓이면 출력:
You failed.
스크립트를 실행 가능하게 만들고 실행하세요. 점수가 75이기 때문에 출력은 다음과 같아야 합니다:
You passed!힌트: "크거나 같음" 비교를 위해
-ge를 사용하고, 대괄호 안에 공백을 포함하며, if 문을fi로 종료하세요.
치트 시트
if 문은 조건에 따라 스크립트가 결정을 내릴 수 있게 합니다:
#!/bin/bash
age=18
if [ $age -ge 18 ]; then
echo "You are an adult"
fi조건은 대괄호 안에 들어가며 주변에 공백이 있어야 합니다. 코드 블록의 시작을 표시하기 위해 then을 사용하고 fi로 문을 종료합니다.
조건이 거짓인 경우를 처리하기 위해 else를 사용합니다:
#!/bin/bash
age=15
if [ $age -ge 18 ]; then
echo "You are an adult"
else
echo "You are a minor"
fi일반적인 비교 연산자:
- 숫자:
-eq(같음),-ne(다름),-gt(보다 큼),-lt(보다 작음),-ge(크거나 같음),-le(작거나 같음) - 문자열:
=(동일),!=(다름)
대괄호 안에 항상 공백을 포함하고 빈 값으로 인한 오류를 피하기 위해 변수를 따옴표로 감싸세요.
직접 해보기
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.