星际货物清单

ShellShellBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

欢迎你,太空学员!你正在接受训练,准备成为星际飞船“星云游牧者号”的货物管理员。你的第一个任务是创建一个简单的库存系统,用于管理飞船的三个货舱。你将使用 shell 数组来存储库存,并通过命令行参数来显示特定货舱的内容。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) shell(("Shell")) -.-> shell/VariableHandlingGroup(["Variable Handling"]) shell(("Shell")) -.-> shell/ControlFlowGroup(["Control Flow"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") shell/VariableHandlingGroup -.-> shell/variables_decl("Variable Declaration") shell/VariableHandlingGroup -.-> shell/variables_usage("Variable Usage") shell/VariableHandlingGroup -.-> shell/arrays("Arrays") shell/ControlFlowGroup -.-> shell/if_else("If-Else Statements") shell/ControlFlowGroup -.-> shell/case("Case Statements") subgraph Lab Skills linux/echo -.-> lab-388869{{"星际货物清单"}} shell/variables_decl -.-> lab-388869{{"星际货物清单"}} shell/variables_usage -.-> lab-388869{{"星际货物清单"}} shell/arrays -.-> lab-388869{{"星际货物清单"}} shell/if_else -.-> lab-388869{{"星际货物清单"}} shell/case -.-> lab-388869{{"星际货物清单"}} end

创建货物清单脚本

任务

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

要求

  1. 脚本 cargo_manifest.sh 已在 /home/labex/project 目录中创建,并包含一个代码框架。
  2. 通过以下步骤完成脚本:
    • 创建三个名为 forward_baymidship_bayaft_bay 的数组。
    • 每个数组应包含恰好 3 个表示货物项目的字符串。
    • 使用 $1 变量检查要显示的货舱库存。
    • 使用 echo 语句显示请求的货舱库存。
  3. 脚本应接受一个参数:可以是 "forward"、"midship" 或 "aft"。
  4. 如果未提供参数,脚本应显示:"请指定一个货舱:forward、midship 或 aft"。
  5. 如果提供了无效参数,脚本应显示:"无效的货舱。请选择 forward、midship 或 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
请指定一个货舱:forward、midship 或 aft

$ ./cargo_manifest.sh engine
无效的货舱。请选择 forward、midship 或 aft。

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

✨ 查看解决方案并练习

总结

在这个挑战中,你使用 shell 数组和基本的命令行参数处理创建了一个简单的库存管理系统。你练习了定义数组、访问数组元素以及使用 if 语句处理命令行输入。这些基础技能对于 shell 脚本编写非常重要,并将帮助你在更高级的脚本任务中游刃有余。继续练习,很快你就能准备好管理真正的星际货物库存了!