星間貨物マニフェスト

ShellShellBeginner
オンラインで実践に進む

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

こんにちは、宇宙訓練生!あなたは、星間船「ネビュラ・ノマッド」の貨物担当官になるための訓練を受けています。最初のタスクは、船の 3 つの貨物ベイ用の簡単な在庫管理システムを作成することです。シェル配列を使用して在庫を保存し、コマンドライン引数を受け取って特定の貨物ベイの内容を表示します。

これは Challenge です。Guided Lab とは異なり、学習のためにラボの手順に従うのではなく、チャレンジタスクを独立して完了する必要があります。Challenge は通常、少し難しい課題です。難しいと感じた場合は、Labby と相談したり、解決策を確認したりできます。過去のデータによると、この 初級 レベルのチャレンジの合格率は 94.85%です。学習者から 96.79% の好評価を得ています。

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{{"星間貨物マニフェスト"}} shell/variables_decl -.-> lab-388869{{"星間貨物マニフェスト"}} shell/variables_usage -.-> lab-388869{{"星間貨物マニフェスト"}} shell/arrays -.-> lab-388869{{"星間貨物マニフェスト"}} shell/if_else -.-> lab-388869{{"星間貨物マニフェスト"}} shell/case -.-> lab-388869{{"星間貨物マニフェスト"}} end

貨物マニフェストスクリプトの作成

タスク

  1. /home/labex/project ディレクトリにある cargo_manifest.sh という既存のシェルスクリプトを開きます。
  2. 欠けている部分を埋めて、船の貨物在庫を作成し表示するようにスクリプトを完成させます。
  3. 異なる引数を指定してスクリプトを実行し、各貨物ベイの在庫を表示します。

要件

  1. スクリプト cargo_manifest.sh は、コードの骨格が /home/labex/project ディレクトリに既に作成されています。
  2. 以下の手順でスクリプトを完成させます。
    • forward_baymidship_bayaft_bay という名前の 3 つの配列を作成します。
    • 各配列には、貨物アイテムを表す正確に 3 つのアイテム(文字列)を含める必要があります。
    • $1 変数を使用して、どの貨物ベイの在庫を表示するかを確認します。
    • echo 文を使用して、要求された貨物ベイの在庫を表示します。
  3. スクリプトは 1 つの引数を受け付ける必要があります。引数は "forward"、"midship"、または "aft" のいずれかです。
  4. 引数が指定されない場合、スクリプトは次のメッセージを表示する必要があります。「Please specify a cargo bay: forward, midship, or aft」
  5. 無効な引数が指定された場合、スクリプトは次のメッセージを表示する必要があります。「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.

スクリプトの文字列は、テストが失敗しないように、これらの例を参照して変更しないでください。

✨ 解答を確認して練習

まとめ

このチャレンジでは、シェル配列と基本的なコマンドライン引数の処理を使用して、簡単な在庫管理システムを作成しました。配列の定義、配列要素のアクセス、および if 文を使用したコマンドライン入力の処理を練習しました。これらの基本的なスキルは、シェルスクリプティングにとって重要であり、より高度なスクリプティングタスクで役立ちます。練習を続ければ、すぐに実際の星間貨物在庫を管理できるようになります!

OSZAR »