Manifeste de Cargaison Interstellaire

ShellBeginner
Pratiquer maintenant

Introduction

Bienvenue à bord, cadet ! Vous suivez actuellement une formation pour devenir officier de cargaison sur le vaisseau interstellaire "Nebula Nomad". Votre première mission consiste à mettre en place un système d'inventaire rudimentaire pour les trois baies de stockage du vaisseau. Vous utiliserez des tableaux shell pour stocker les données et accepterez un argument en ligne de commande pour afficher le contenu d'une baie spécifique.

Création du script de manifeste de cargaison

Tâches

  1. Ouvrez le script shell existant nommé cargo_manifest.sh situé dans le répertoire /home/labex/project.
  2. Complétez le script en remplissant les parties manquantes pour créer et afficher l'inventaire de cargaison du vaisseau.
  3. Exécutez le script avec différents arguments pour vérifier l'affichage de l'inventaire de chaque baie.

Exigences

  1. Le script cargo_manifest.sh est déjà présent dans le répertoire /home/labex/project avec une structure de code de base.
  2. Complétez le script en respectant les points suivants :
    • Créez trois tableaux nommés forward_bay, midship_bay et aft_bay.
    • Chaque tableau doit contenir exactement 3 éléments (chaînes de caractères) représentant les articles en stock.
    • Utilisez la variable $1 pour identifier la baie de cargaison à afficher.
    • Affichez l'inventaire de la baie demandée à l'aide de commandes echo.
  3. Le script doit accepter un seul argument : soit "forward", soit "midship", soit "aft".
  4. Si aucun argument n'est fourni, le script doit afficher : "Please specify a cargo bay: forward, midship, or aft"
  5. Si un argument invalide est fourni, le script doit afficher : "Invalid cargo bay. Choose forward, midship, or aft."

Exemple

Une fois le script terminé, son exécution devrait produire un résultat similaire à celui-ci :

$ ./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.

Les chaînes de caractères du script doivent correspondre exactement aux exemples pour éviter tout échec lors des tests automatisés.

✨ Vérifier la solution et pratiquer

Résumé

Dans ce défi, vous avez conçu un système de gestion d'inventaire simple en utilisant les tableaux shell et la manipulation de base des arguments de ligne de commande. Vous vous êtes exercé à définir des tableaux, à accéder à leurs éléments et à utiliser des structures conditionnelles if pour traiter les entrées utilisateur. Ces compétences fondamentales sont essentielles pour la programmation shell et vous seront utiles pour des tâches d'automatisation plus complexes. Continuez à pratiquer, et vous serez bientôt prêt à gérer de véritables inventaires de cargaison interstellaire !