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 문을 사용하여 시험 점수를 평가하세요.
스크립트는 다음을 수행해야 합니다.
- shebang 줄(
#!/bin/bash)로 시작합니다. 75값을 갖는score라는 변수를 만듭니다.- if 문을 사용하여 점수가 70 이상인지 확인합니다.
- 참이면
You passed!를 출력합니다. - 거짓이면
You failed.를 출력합니다.
스크립트를 실행 가능하게 만든 후 실행하세요. 점수가 75이므로 출력은 다음과 같아야 합니다.
You passed!힌트: "이상" 비교에는
-ge를 사용하고, 대괄호 안에 공백을 넣으며, if 문을fi로 끝내야 한다는 점을 기억하세요.여기에는 파일 편집기가 없으므로 here-document를 사용하여 셸에서 바로 파일을 작성하세요.
cat > check_score.sh << 'EOF'를 입력한 다음 스크립트의 줄을 입력하고, 마지막 줄에는EOF만 입력하세요.
직접 해보기
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: Terminal 플레이그라운드