星际货物清单

ShellBeginner
立即练习

介绍

欢迎,太空学员!你正在接受培训,准备成为「星云游牧者号」星际飞船的货运官。你的首要任务是为飞船的三个货舱创建一个简单的库存系统。你将使用 Shell 数组来存储库存,并接收命令行参数来显示特定货舱的内容。

创建货物清单脚本

任务

  1. 打开 /home/labex/project 目录下名为 cargo_manifest.sh 的现有 Shell 脚本。
  2. 填充缺失的部分以完成脚本,从而创建并显示飞船的货物库存。
  3. 使用不同的参数运行脚本,以显示每个货舱的库存。

要求

  1. 脚本 cargo_manifest.sh 已经创建在 /home/labex/project 目录中,并包含一个代码框架。
  2. 通过以下方式完成脚本:
    • 创建三个名为 forward_baymidship_bayaft_bay 的数组。
    • 每个数组应包含正好 3 个代表货物项目的字符串。
    • 使用 $1 变量来检查要显示哪个货舱的库存。
    • 使用 echo 语句显示所请求货舱的库存。
  3. 脚本应接受一个参数:可以是「forward」、「midship」或「aft」。
  4. 如果未提供参数,脚本应显示:「Please specify a cargo bay: forward, midship, or aft」
  5. 如果提供了无效参数,脚本应显示:「Invalid cargo bay. Choose forward, midship, or aft.」

示例

完成脚本后,运行它应该产生类似于以下内容的输出:

$ ./cargo_manifest.sh forward
Forward Bay Inventory:
1. Space Suits
2. Oxygen Tanks
3. Repair Kits

$ ./cargo_manifest.sh midship
Midship Bay Inventory:
1. Food Supplies
2. Water Containers
3. Medical Equipment

$ ./cargo_manifest.sh aft
Aft Bay Inventory:
1. Spare Parts
2. Fuel Cells
3. Scientific Instruments

$ ./cargo_manifest.sh
Please specify a cargo bay: forward, midship, or aft

$ ./cargo_manifest.sh engine
Invalid cargo bay. Choose forward, midship, or aft.

脚本中的字符串必须参考示例并保持不变,以防止测试失败。

总结

在本次挑战中,你使用 Shell 数组和基础的命令行参数处理功能创建了一个简单的库存管理系统。你练习了如何定义数组、访问数组元素以及使用 if 语句处理命令行输入。这些基础技能对于 Shell 脚本编写至关重要,并将帮助你完成更高级的脚本任务。继续练习,你很快就能胜任真实的星际货物库存管理工作了!

✨ 查看解决方案并练习