Bash スクリプトにおける引数の処理

Red Hat Enterprise LinuxBeginner
オンラインで実践に進む

はじめに

このチャレンジでは、コマンドライン引数(Arguments)を処理する Bash スクリプトを作成します。このスクリプトを通じて、コマンドライン引数の扱い、特殊変数の利用、プロセス情報の表示など、Bash スクリプトにおける重要な概念を学びます。これらのタスクは、柔軟で情報提供能力の高いコマンドラインツールを作成する必要があるシステム管理者や開発者にとって不可欠なスキルです。

環境

LabEx では、試験環境をシミュレートするために Red Hat Universal Base Image 9 (UBI9) を使用しています。実際の RHCSA 試験環境と完全に同一ではない場合がありますが、遭遇するタスクを適切に再現しています。

環境内には 2 つのユーザーが存在します:

  • labex: sudo 権限を持つ標準ユーザー、パスワード:labex
  • root: システム管理者、パスワード:redhat

このチャレンジには、実際の試験問題に加えて、解説、要件、およびタスクの完了を確認するための自動検証スクリプトが含まれています。これにより、RHCSA 試験でカバーされる知識領域を効果的にシミュレートできます。

Bash スクリプトの作成と設定

渡された引数に関する情報を処理して表示する Bash スクリプトを作成しましょう。

タスク

  • /home/labex/ ディレクトリに argts.sh という名前の Bash スクリプトを作成する
  • スクリプトに実行権限を付与する
  • 以下の情報を表示するようにスクリプトを実装する:
    • 指定された引数の総数
    • 最初の引数の値
    • スクリプトのプロセス ID (PID)
    • 指定されたすべての引数

要件

  • スクリプトは必ず /home/labex/argts.sh に作成すること
  • スクリプトには正しいシバン(Shebang)行 #!/bin/bash を含めること
  • スクリプトが実行可能であること
  • 必要な情報を表示するために、適切な Bash 特殊変数を使用すること
  • 出力は、等号(=)のヘッダー行で区切り、分かりやすく整形すること

実行例

引数を指定してスクリプトを実行した際、以下のような出力結果になるようにしてください:

$ /home/labex/argts.sh one two three
===========================
The total count of the supp argts: 3
The value of the first arg is: one
The PID of the script is : 12345
All the argts: one two three

まとめ

このチャレンジでは、コマンドライン引数を処理して情報を表示する Bash スクリプトを作成しました。この演習を通じて、特殊変数($#, $1, $$, $*)へのアクセス、実行可能なスクリプトの作成、出力の整形といった Bash スクリプティングの基本概念を実践しました。これらのスキルは、柔軟なコマンドラインツールを構築し、ユーザー入力を効果的に処理する必要があるシステム管理者や開発者にとって極めて重要です。

✨ 解答を確認して練習