介绍
欢迎,太空学员!你正在接受培训,准备成为「星云游牧者号」星际飞船的货运官。你的首要任务是为飞船的三个货舱创建一个简单的库存系统。你将使用 Shell 数组来存储库存,并接收命令行参数来显示特定货舱的内容。
创建货物清单脚本
任务
- 打开
/home/labex/project目录下名为cargo_manifest.sh的现有 Shell 脚本。 - 填充缺失的部分以完成脚本,从而创建并显示飞船的货物库存。
- 使用不同的参数运行脚本,以显示每个货舱的库存。
要求
- 脚本
cargo_manifest.sh已经创建在/home/labex/project目录中,并包含一个代码框架。 - 通过以下方式完成脚本:
- 创建三个名为
forward_bay、midship_bay和aft_bay的数组。 - 每个数组应包含正好 3 个代表货物项目的字符串。
- 使用
$1变量来检查要显示哪个货舱的库存。 - 使用
echo语句显示所请求货舱的库存。
- 创建三个名为
- 脚本应接受一个参数:可以是「forward」、「midship」或「aft」。
- 如果未提供参数,脚本应显示:「Please specify a cargo bay: forward, midship, or aft」
- 如果提供了无效参数,脚本应显示:「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 脚本编写至关重要,并将帮助你完成更高级的脚本任务。继续练习,你很快就能胜任真实的星际货物库存管理工作了!



