소개
우주 생도 여러분, 환영합니다! 여러분은 지금 성간 우주선 '네뷸라 노마드'의 화물 담당관이 되기 위한 훈련을 받고 있습니다. 첫 번째 과제는 우주선의 세 화물창을 위한 간단한 재고 시스템을 만드는 것입니다. 쉘 배열을 사용하여 재고 데이터를 저장하고, 명령줄 인수를 받아 특정 화물창의 상세 내역을 출력하는 기능을 구현하게 됩니다.
우주 생도 여러분, 환영합니다! 여러분은 지금 성간 우주선 '네뷸라 노마드'의 화물 담당관이 되기 위한 훈련을 받고 있습니다. 첫 번째 과제는 우주선의 세 화물창을 위한 간단한 재고 시스템을 만드는 것입니다. 쉘 배열을 사용하여 재고 데이터를 저장하고, 명령줄 인수를 받아 특정 화물창의 상세 내역을 출력하는 기능을 구현하게 됩니다.
/home/labex/project 디렉토리에 있는 기존 쉘 스크립트 파일인 cargo_manifest.sh를 엽니다.cargo_manifest.sh 스크립트는 기본 코드 구조가 포함된 상태로 /home/labex/project 디렉토리에 이미 생성되어 있습니다.forward_bay, midship_bay, aft_bay라는 이름의 배열 세 개를 생성합니다.$1 변수를 사용하여 어떤 화물창의 재고를 표시할지 확인합니다.echo 문을 사용하여 요청된 화물창의 재고 목록을 출력합니다.스크립트 작성을 마친 후 실행하면 다음과 같은 결과가 나와야 합니다:
$ ./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.
테스트 통과를 위해 스크립트 내의 출력 문자열은 위 예시와 정확히 일치해야 합니다.
이번 챌린지에서는 쉘 배열과 기본적인 명령줄 인수 처리 방식을 활용하여 간단한 재고 관리 시스템을 만들어 보았습니다. 배열을 정의하고 요소에 접근하는 방법, 그리고 if 문을 사용하여 사용자 입력을 처리하는 과정을 연습했습니다. 이러한 기초 역량은 쉘 스크립팅의 핵심이며, 앞으로 더 복잡한 자동화 작업을 수행하는 데 밑거름이 될 것입니다. 계속해서 정진하여 실제 성간 화물 시스템을 능숙하게 관리할 수 있는 전문가가 되길 바랍니다!