Manifesto de Carga Interestelar

ShellBeginner
Pratique Agora

Introdução

Bem-vindo, cadete espacial! Você está treinando para se tornar um oficial de carga na nave interestelar "Nebula Nomad". Sua primeira missão é criar um sistema de inventário simples para os três compartimentos de carga da nave. Você utilizará arrays de shell para armazenar o inventário e aceitará um argumento de linha de comando para exibir o conteúdo de um compartimento de carga específico.

Criando o Script do Manifesto de Carga

Tarefas

  1. Abra o script shell existente chamado cargo_manifest.sh no diretório /home/labex/project.
  2. Complete o script preenchendo as partes que faltam para criar e exibir o inventário de carga da nave.
  3. Execute o script com diferentes argumentos para exibir o inventário de cada compartimento de carga.

Requisitos

  1. O script cargo_manifest.sh já foi criado no diretório /home/labex/project com uma estrutura de código básica.
  2. Complete o script realizando o seguinte:
    • Crie três arrays chamados forward_bay, midship_bay e aft_bay.
    • Cada array deve conter exatamente 3 itens (strings) representando os itens de carga.
    • Use a variável $1 para verificar qual inventário de compartimento de carga deve ser exibido.
    • Exiba o inventário do compartimento solicitado usando comandos echo.
  3. O script deve aceitar um argumento: "forward", "midship" ou "aft".
  4. Se nenhum argumento for fornecido, o script deve exibir: "Please specify a cargo bay: forward, midship, or aft"
  5. Se um argumento inválido for fornecido, o script deve exibir: "Invalid cargo bay. Choose forward, midship, or aft."

Exemplo

Após completar o script, a execução deve produzir uma saída semelhante 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.

As strings do script devem seguir fielmente os exemplos e permanecer inalteradas para evitar falhas nos testes automatizados.

✨ Verificar Solução e Praticar

Resumo

Neste desafio, você criou um sistema simples de gerenciamento de inventário usando arrays de shell e manipulação básica de argumentos de linha de comando. Você praticou a definição de arrays, o acesso a elementos de arrays e o uso de instruções if para processar entradas de linha de comando. Essas habilidades fundamentais são essenciais para o shell scripting e ajudarão você em tarefas de automação mais avançadas. Continue praticando e, em breve, você estará pronto para gerenciar inventários de carga interestelares reais!