Einführung
Willkommen, Weltraumkadett! Du wirst zum Frachtoffizier auf dem interstellaren Raumschiff „Nebula Nomad“ ausgebildet. Deine erste Aufgabe besteht darin, ein einfaches Inventarsystem für die drei Frachträume des Schiffes zu entwickeln. Dabei nutzt du Shell-Arrays zur Speicherung der Bestände und wertest Befehlszeilenargumente aus, um den Inhalt eines spezifischen Frachtraums auszugeben.
Erstellung des Frachtmanifest-Skripts
Aufgaben
- Öffne das vorhandene Shell-Skript mit dem Namen
cargo_manifest.shim Verzeichnis/home/labex/project. - Vervollständige das Skript, indem du die fehlenden Teile ergänzt, um das Frachtinventar des Schiffes zu erstellen und anzuzeigen.
- Führe das Skript mit verschiedenen Argumenten aus, um das Inventar der jeweiligen Frachträume zu prüfen.
Anforderungen
- Das Skript
cargo_manifest.shwurde bereits im Verzeichnis/home/labex/projectmit einem Grundgerüst erstellt. - Vervollständige das Skript wie folgt:
- Erstelle drei Arrays mit den Namen
forward_bay,midship_bayundaft_bay. - Jedes Array muss genau 3 Elemente (Strings) enthalten, die Frachtstücke repräsentieren.
- Nutze die Variable
$1, um zu prüfen, welches Inventar angezeigt werden soll. - Gib das Inventar des angeforderten Frachtraums mittels
echo-Befehlen aus.
- Erstelle drei Arrays mit den Namen
- Das Skript soll genau ein Argument akzeptieren: entweder "forward", "midship" oder "aft".
- Wenn kein Argument übergeben wird, soll das Skript folgende Meldung ausgeben: "Please specify a cargo bay: forward, midship, or aft"
- Wenn ein ungültiges Argument übergeben wird, soll das Skript folgende Meldung ausgeben: "Invalid cargo bay. Choose forward, midship, or aft."
Beispiel
Nachdem du das Skript vervollständigt hast, sollte die Ausführung zu Ergebnissen wie diesen führen:
$ ./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.
Die im Skript verwendeten Zeichenfolgen müssen exakt den Beispielen entsprechen und unverändert bleiben, um Fehler bei den automatisierten Tests zu vermeiden.
Zusammenfassung
In dieser Herausforderung hast du ein einfaches Inventarverwaltungssystem unter Verwendung von Shell-Arrays und grundlegender Verarbeitung von Befehlszeilenargumenten erstellt. Du hast geübt, Arrays zu definieren, auf Array-Elemente zuzugreifen und if-Anweisungen zur Steuerung des Programmablaufs einzusetzen. Diese grundlegenden Fertigkeiten sind essenziell für das Shell-Scripting und bilden die Basis für komplexere Automatisierungsaufgaben. Übe weiter, und du wirst in kürzester Zeit bereit sein, echte interstellare Frachtbestände zu verwalten!



