Manifiesto de Carga Interestelar

ShellShellBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

¡Bienvenido, cadete espacial! Estás recibiendo entrenamiento para convertirse en oficial de carga en la nave interestelar "Nebula Nomad". Tu primera tarea es crear un sistema de inventario simple para las tres bodegas de carga de la nave. Utilizarás matrices de shell (shell arrays) para almacenar el inventario y aceptar un argumento de línea de comandos para mostrar el contenido de una bodega de carga específica.


Skills Graph

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

Creación del script de manifiesto de carga

Tareas

  1. Abre el script de shell existente llamado cargo_manifest.sh en el directorio /home/labex/project.
  2. Completa el script rellenando las partes faltantes para crear y mostrar el inventario de carga de la nave.
  3. Ejecuta el script con diferentes argumentos para mostrar el inventario de cada bodega de carga.

Requisitos

  1. El script cargo_manifest.sh ya está creado en el directorio /home/labex/project con un marco de código.
  2. Completa el script:
    • Creando tres matrices (arrays) llamadas forward_bay, midship_bay y aft_bay.
    • Cada matriz debe contener exactamente 3 elementos (cadenas) que representen artículos de carga.
    • Utiliza la variable $1 para verificar qué inventario de bodega de carga se debe mostrar.
    • Muestra el inventario de la bodega de carga solicitada utilizando declaraciones echo.
  3. El script debe aceptar un argumento: "forward", "midship" o "aft".
  4. Si no se proporciona ningún argumento, el script debe mostrar: "Please specify a cargo bay: forward, midship, or aft"
  5. Si se proporciona un argumento no válido, el script debe mostrar: "Invalid cargo bay. Choose forward, midship, or aft."

Ejemplo

Después de completar el script, ejecutarlo debe producir una salida similar a esta:

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

Las cadenas del script deben hacer referencia a los ejemplos y permanecer sin cambios para evitar que fallen las pruebas.

✨ Revisar Solución y Practicar

Resumen

En este desafío, has creado un sistema simple de gestión de inventario utilizando matrices de shell (shell arrays) y manejo básico de argumentos de línea de comandos. Has practicado la definición de matrices, el acceso a elementos de matrices y el uso de declaraciones if para procesar entradas de línea de comandos. Estas habilidades fundamentales son importantes para la programación de scripts de shell y te ayudarán en tareas de scripting más avanzadas. Sigue practicando, ¡y estarás listo para gestionar inventarios reales de carga interestelar en poco tiempo!