기상 안내 시스템

ShellBeginner
지금 연습하기

소개

지역 기상청에서 사용할 간단한 기상 안내 시스템을 개발한다고 가정해 봅시다. 여러분의 임무는 입력받은 기온에 따라 적절한 날씨 조언을 제공하는 쉘 스크립트를 완성하는 것입니다. 이 챌린지는 쉘 스크립트의 if 문 활용 능력과 기본적인 사용자 입력 처리 능력을 테스트합니다.

이 콘텐츠는 챌린지입니다. 가이드가 제공되는 실습 (Guided Lab) 과 달리, 학습 단계를 따라가는 것이 아니라 스스로 과제를 해결해야 합니다. 챌린지는 다소 어려울 수 있습니다. 해결이 어렵다면 Labby 와 상의하거나 모범 답안을 확인하세요. 통계에 따르면 이 챌린지는 초급 수준이며, 통과율은 98%, 학습자 만족도는 99%입니다.

기상 안내 스크립트 완성하기

과제

  1. ~/project 디렉토리로 이동합니다. 해당 위치에는 일부만 작성된 weather_advisor.sh 파일이 있습니다.
  2. weather_advisor.sh 파일을 열고, 입력된 기온에 따라 날씨 조언을 출력하도록 if 문을 완성하세요.

요구 사항

  • weather_advisor.sh 스크립트는 이미 ~/project 디렉토리에 기본 구조가 갖춰진 상태로 생성되어 있습니다.
  • 스크립트에는 셔뱅 (shebang) 과 사용자 입력 프롬프트가 포함되어 있습니다.
  • 여러분은 다음 조건에 맞는 조언을 제공하도록 if 문을 작성해야 합니다:
    • 기온이 0°C 미만인 경우: "It's freezing! Wear a heavy coat and gloves."
    • 기온이 0°C 이상 10°C 이하인 경우: "It's cold. A warm jacket is recommended."
    • 기온이 11°C 이상 20°C 이하인 경우: "It's cool. A light jacket should suffice."
    • 기온이 20°C 를 초과하는 경우: "It's warm. Enjoy the pleasant weather!"
  • 조언을 출력할 때는 echo를 사용하세요.

실행 예시

완성된 스크립트는 다음과 같이 동작해야 합니다:

$ ./weather_advisor.sh
Enter the current temperature in Celsius: 15
It's cool. A light jacket should suffice.

$ ./weather_advisor.sh
Enter the current temperature in Celsius: -2
It's freezing! Wear a heavy coat and gloves.

$ ./weather_advisor.sh
Enter the current temperature in Celsius: 25
It's warm. Enjoy the pleasant weather!

테스트 실패를 방지하기 위해 스크립트 내의 문자열은 반드시 예시와 동일하게 유지해야 합니다.

✨ 솔루션 확인 및 연습

요약

이번 챌린지에서는 쉘 스크립트를 사용하여 간단한 기상 안내 시스템을 완성해 보았습니다. 사용자 입력을 바탕으로 의사 결정을 내리는 if 문 사용법을 연습하고, echo를 통해 적절한 결과를 출력하는 방법을 익혔습니다. 이 연습을 통해 쉘 스크립트의 조건부 로직에 대한 이해를 높이고, 이러한 개념이 실제 상황에서 어떻게 응용될 수 있는지 확인했습니다.