소개
이번 챌린지에서는 쉘 스크립트를 활용해 기본적인 사칙연산 계산기를 만들어 봅니다. 이를 통해 쉘 스크립트에서 여러 개의 함수를 정의하고 호출하는 핵심 원리를 깊이 있게 이해할 수 있습니다.
계산기 함수 구현하기
과제
~/project디렉토리로 이동합니다. 해당 디렉토리에는 일부 코드가 작성된calculator.sh파일이 준비되어 있습니다.calculator.sh파일을 열어add,subtract,multiply,divide네 가지 함수를 완성하세요.
요구 사항
~/project디렉토리에 기본 구조가 잡힌calculator.sh스크립트가 이미 생성되어 있습니다.- 다음 함수들을 완성해야 합니다:
add: 두 개의 인자를 받아 그 합을 출력합니다.subtract: 두 개의 인자를 받아 첫 번째 값에서 두 번째 값을 뺀 결과를 출력합니다.multiply: 두 개의 인자를 받아 그 곱을 출력합니다.divide: 두 개의 인자를 받아 첫 번째 값을 두 번째 값으로 나눈 결과를 출력합니다. 이때 0 으로 나누는 경우를 반드시 처리해야 합니다.
- 각 함수는 두 개의 매개변수를 전달받아 결과를
echo로 출력해야 합니다. - 함수를 호출하는 스크립트의 메인 로직은 이미 작성되어 있습니다.
- 주의 사항:
case문 내에서 모든 연산 기호 (+,-,*,/) 는 쉘이 특수 문자로 해석하지 않도록 따옴표로 감싸야 합니다. 특히*기호를 따옴표 없이 사용하면 와일드카드로 인식되어 모든 입력과 매칭되는 예기치 않은 동작이 발생할 수 있습니다.
실행 예시
완성된 스크립트는 다음과 같이 동작해야 합니다:
$ ./calculator.sh
Enter first number: 10
Enter second number: 5
Enter operation (+, -, *, /): +
Result: 15
$ ./calculator.sh
Enter first number: 10
Enter second number: 5
Enter operation (+, -, *, /): -
Result: 5
$ ./calculator.sh
Enter first number: 10
Enter second number: 5
Enter operation (+, -, *, /): *
Result: 50
$ ./calculator.sh
Enter first number: 10
Enter second number: 5
Enter operation (+, -, *, /): /
Result: 2
$ ./calculator.sh
Enter first number: 10
Enter second number: 0
Enter operation (+, -, *, /): /
Error: Division by zero is not allowed.
테스트 통과를 위해 스크립트 내의 문자열은 위 예시와 동일하게 유지해야 합니다.
요약
이 챌린지에서는 쉘 스크립트를 사용하여 사칙연산 계산기를 직접 만들어 보았습니다. 매개변수를 받아 연산을 수행하고 결과를 반환하는 여러 함수를 정의하는 연습을 했습니다. 이 과정을 통해 쉘 스크립트의 기본적인 함수 선언 및 활용법을 익혔으며, 간단한 계산 로직과 예외 처리 기법을 실제 코드에 적용해 보았습니다.



