四则运算计算器

ShellBeginner
立即练习

介绍

在本次挑战中,你将编写一个实现基础四则运算功能的 Shell 脚本。这将帮助你理解在 Shell 脚本中定义和使用多个函数的核心原理。

这是一个「挑战」项目,它与「引导实验」不同,你需要尝试独立完成挑战任务,而不是跟随实验步骤学习。挑战通常具有一定的难度。如果你感到困难,可以与 Labby 讨论或查看解决方案。历史数据显示,这是一个 初学者 级别的挑战,通过率为 98%,并获得了学习者 97% 的好评率。

创建计算器函数

任务

  1. 切换到 ~/project 目录,你会发现一个名为 calculator.sh 的未完成脚本。
  2. 打开 calculator.sh 文件,补全四个函数:addsubtractmultiplydivide

要求

  • ~/project 目录中已经预置了具有基本结构的 calculator.sh 脚本。
  • 你的任务是完成以下函数:
    • add:接收两个参数并返回它们的和。
    • subtract:接收两个参数并返回第一个数减去第二个数的结果。
    • multiply:接收两个参数并返回它们的乘积。
    • divide:接收两个参数并返回第一个数除以第二个数的结果。请务必处理除以零的情况。
  • 每个函数都应接收两个参数并使用 echo 输出结果。
  • 脚本的主体部分(调用函数的部分)已经提供。
  • 重要提示:在 case 语句中,所有的运算符(+-*/)都已用引号括起来,以防止被 Shell 误解析。如果不加引号,* 符号会作为通配符匹配任何输入,从而导致非预期的行为。

示例

以下是完成后的脚本运行示例:

$ ./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.

脚本中的字符串必须参考示例并保持不变,否则可能会导致测试失败。

✨ 查看解决方案并练习

总结

在本次挑战中,你使用 Shell 脚本创建了一个四则运算计算器。你练习了如何定义接收参数、执行计算并返回结果的多个函数。通过这个练习,你巩固了对 Shell 脚本中函数声明和调用的理解,并掌握了在简单计算和错误处理中的实际应用。