Manifeste de cargaison interstellaire

ShellShellBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Bienvenue, cadet de l'espace! Vous êtes en formation pour devenir officier des cargaisons sur le vaisseau interstellaire "Nebula Nomad". Votre première tâche consiste à créer un système d'inventaire simple pour les trois salles à cargaisons du vaisseau. Vous utiliserez des tableaux shell (shell arrays) pour stocker l'inventaire et accepter un argument en ligne de commande pour afficher le contenu d'une salle à cargaisons spécifique.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL shell(("Shell")) -.-> shell/ControlFlowGroup(["Control Flow"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) shell(("Shell")) -.-> shell/VariableHandlingGroup(["Variable Handling"]) 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{{"Manifeste de cargaison interstellaire"}} shell/variables_decl -.-> lab-388869{{"Manifeste de cargaison interstellaire"}} shell/variables_usage -.-> lab-388869{{"Manifeste de cargaison interstellaire"}} shell/arrays -.-> lab-388869{{"Manifeste de cargaison interstellaire"}} shell/if_else -.-> lab-388869{{"Manifeste de cargaison interstellaire"}} shell/case -.-> lab-388869{{"Manifeste de cargaison interstellaire"}} end

Création du script de manifeste de cargaison

Tâches

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

Exigences

  1. Le script cargo_manifest.sh est déjà créé dans le répertoire /home/labex/project avec un cadre de code.
  2. Complétez le script en :
    • Créant trois tableaux (arrays) nommés forward_bay, midship_bay et aft_bay.
    • Chaque tableau doit contenir exactement 3 éléments (chaînes de caractères) représentant des articles de cargaison.
    • Utilisant la variable $1 pour vérifier quel inventaire de salle à cargaisons afficher.
    • Affichant l'inventaire de la salle à cargaisons demandée à l'aide d'instructions echo.
  3. Le script doit accepter un argument : soit "forward", "midship" ou "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

Après avoir complété le script, son exécution devrait produire une sortie similaire à ceci :

$./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 référencer les exemples et rester inchangées pour éviter les échecs des tests.

✨ Vérifier la solution et pratiquer

Résumé

Dans ce défi, vous avez créé un système de gestion d'inventaire simple en utilisant des tableaux shell (shell arrays) et la gestion basique des arguments en ligne de commande. Vous avez pratiqué la définition de tableaux, l'accès aux éléments de tableau et l'utilisation d'instructions if pour traiter les entrées en ligne de commande. Ces compétences fondamentales sont importantes pour la programmation en shell et vous aideront dans des tâches de script plus avancées. Continuez à pratiquer, et vous serez prêt à gérer de vrais inventaires de cargaisons interstellaires en un rien de temps!