Введение
Добро пожаловать, космический кадет! Вы проходите обучение на должность офицера по грузовым операциям на межзвездном корабле «Nebula Nomad». Ваша первая задача — создать простую систему инвентаризации для трех грузовых отсеков корабля. Вы будете использовать массивы в shell для хранения данных об имуществе и принимать аргументы командной строки для вывода содержимого конкретного грузового отсека.
Создание скрипта грузового манифеста
Задачи
- Откройте существующий shell-скрипт с именем
cargo_manifest.shв директории/home/labex/project. - Доработайте скрипт, заполнив недостающие части для создания и отображения инвентарного списка корабля.
- Запустите скрипт с различными аргументами, чтобы проверить вывод содержимого каждого грузового отсека.
Требования
- Скрипт
cargo_manifest.shуже создан в директории/home/labex/projectи содержит базовую структуру кода. - Допишите скрипт, выполнив следующие действия:
- Создайте три массива с именами
forward_bay,midship_bayиaft_bay. - Каждый массив должен содержать ровно 3 элемента (строки), представляющих грузы.
- Используйте переменную
$1для проверки того, какой именно отсек необходимо отобразить. - Выведите содержимое запрошенного отсека с помощью команд
echo.
- Создайте три массива с именами
- Скрипт должен принимать один аргумент: "forward", "midship" или "aft".
- Если аргумент не передан, скрипт должен вывести: "Please specify a cargo bay: forward, midship, or aft"
- Если передан неверный аргумент, скрипт должен вывести: "Invalid cargo bay. Choose forward, midship, or aft."
Пример
После завершения работы над скриптом его запуск должен приводить к результатам, аналогичным следующим:
$ ./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.
Строковые значения в скрипте должны в точности соответствовать примерам, чтобы избежать ошибок при автоматическом тестировании.
Резюме
В этом испытании вы создали простую систему управления инвентарем, используя массивы shell и базовую обработку аргументов командной строки. Вы закрепили навыки определения массивов, доступа к их элементам и использования операторов if для обработки пользовательского ввода. Эти фундаментальные навыки критически важны для написания скриптов и помогут вам в решении более сложных задач по автоматизации. Продолжайте практиковаться, и совсем скоро вы будете готовы управлять настоящими межзвездными грузами!



