Interstellares Frachtmanifest

ShellBeginner
Jetzt üben

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

  1. Öffne das vorhandene Shell-Skript mit dem Namen cargo_manifest.sh im Verzeichnis /home/labex/project.
  2. Vervollständige das Skript, indem du die fehlenden Teile ergänzt, um das Frachtinventar des Schiffes zu erstellen und anzuzeigen.
  3. Führe das Skript mit verschiedenen Argumenten aus, um das Inventar der jeweiligen Frachträume zu prüfen.

Anforderungen

  1. Das Skript cargo_manifest.sh wurde bereits im Verzeichnis /home/labex/project mit einem Grundgerüst erstellt.
  2. Vervollständige das Skript wie folgt:
    • Erstelle drei Arrays mit den Namen forward_bay, midship_bay und aft_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.
  3. Das Skript soll genau ein Argument akzeptieren: entweder "forward", "midship" oder "aft".
  4. Wenn kein Argument übergeben wird, soll das Skript folgende Meldung ausgeben: "Please specify a cargo bay: forward, midship, or aft"
  5. 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.

✨ Lösung prüfen und üben

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!