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
- Ouvrez le script shell existant nommé
cargo_manifest.shsitué dans le répertoire/home/labex/project. - Complétez le script en remplissant les parties manquantes pour créer et afficher l'inventaire de cargaison du vaisseau.
- Exécutez le script avec différents arguments pour vérifier l'affichage de l'inventaire de chaque baie.
Exigences
- Le script
cargo_manifest.shest déjà présent dans le répertoire/home/labex/projectavec une structure de code de base. - Complétez le script en respectant les points suivants :
- Créez trois tableaux nommés
forward_bay,midship_bayetaft_bay. - Chaque tableau doit contenir exactement 3 éléments (chaînes de caractères) représentant les articles en stock.
- Utilisez la variable
$1pour identifier la baie de cargaison à afficher. - Affichez l'inventaire de la baie demandée à l'aide de commandes
echo.
- Créez trois tableaux nommés
- Le script doit accepter un seul argument : soit "forward", soit "midship", soit "aft".
- Si aucun argument n'est fourni, le script doit afficher : "Please specify a cargo bay: forward, midship, or aft"
- 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.
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 !



