Bash スクリプトでコマンドライン引数を処理する

LinuxLinuxBeginner
今すぐ練習

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

はじめに

このチャレンジでは、コマンドライン引数を処理する bash スクリプトを作成します。このスクリプトは、bash スクリプティングにおける重要な概念を示します。具体的には、コマンドライン引数の処理、特殊変数の使用、およびプロセス情報の表示です。このタスクは、柔軟で有益なコマンドラインツールを作成する必要があるシステム管理者や開発者にとって不可欠です。

環境

LabEx は Red Hat Universal Base Image 9 (UBI9) を使用して試験環境をシミュレートします。これは実際の RHCSA 試験環境と完全に同一ではないかもしれませんが、あなたが遭遇するタスクをよく表しています。

環境には 2 人のユーザーがいます。

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL shell(("Shell")) -.-> shell/VariableHandlingGroup(["Variable Handling"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) shell(("Shell")) -.-> shell/FunctionsandScopeGroup(["Functions and Scope"]) shell/VariableHandlingGroup -.-> shell/variables_usage("Variable Usage") shell/VariableHandlingGroup -.-> shell/param_expansion("Parameter Expansion") linux/BasicFileOperationsGroup -.-> linux/chmod("Permission Modifying") shell/FunctionsandScopeGroup -.-> shell/func_def("Function Definition") subgraph Lab Skills shell/variables_usage -.-> lab-416107{{"Bash スクリプトでコマンドライン引数を処理する"}} shell/param_expansion -.-> lab-416107{{"Bash スクリプトでコマンドライン引数を処理する"}} linux/chmod -.-> lab-416107{{"Bash スクリプトでコマンドライン引数を処理する"}} shell/func_def -.-> lab-416107{{"Bash スクリプトでコマンドライン引数を処理する"}} end

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

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

タスク

  • /home/labex/ ディレクトリに argts.sh という名前の bash スクリプトを作成する
  • スクリプトを実行可能にする
  • 以下の情報を表示するようにスクリプトを実装する:
    • 供給された引数の総数
    • 最初の引数の値
    • スクリプトの PID
    • すべての供給された引数

要件

  • スクリプトは /home/labex/argts.sh に作成されなければならない
  • スクリプトは正しいシバン行 #!/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 スクリプティングの概念を示しています。これらのスキルは、柔軟なコマンドラインツールを作成し、ユーザー入力を効果的に処理する必要があるシステム管理者や開発者にとって不可欠です。