高度なシェルスクリプティング技術

高度なシェルスクリプティング技術を学びます。このモジュールでは、シェル関数の基本、変数のスコープとリターンステータス、Trap を使用したエラー処理、文字列操作技術、配列の処理について解説します。実践的なラボと実世界の課題を通じて、これらの不可欠な Linux スキルを習得します。

DevOps EngineerLinuxDevOps

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

はじめに

この中級コースでは、基本的な Bash スクリプトに再利用可能な関数、制御されたスコープ、クリーンアップ処理、パラメーター展開、配列を加えます。5 つのガイド付きラボで、ロジックの整理、テキスト出力と状態の分離、終了時処理、外部ツールを使わない文字列操作、安全なコレクション処理を実践します。

最後のチャレンジでは、準備済みログの固定配列を管理し、関数内で .backup 名を生成し、存在するファイルをコピーし、欠落を警告し、終了時に一時レポートを削除する log_manager.sh を構築します。

学習内容

  • Bash 関数を定義・呼び出しし、関数引数で値を渡す
  • local 変数でスクリプト状態を保護し、意図しないグローバル変更を防ぐ
  • 関数から状態コードを返し、直後に $? を取得して結果別に分岐する
  • trap で SIGINT と EXIT に対するクリーンアップ関数を登録する
  • Bash パラメーター展開で文字列を切り出し、置換し、既定値を設定する
  • 配列を宣言し、要素を追加し、全値を展開し、安全な引用で反復する
  • 関数内で .log を .backup に置換してバックアップ名を生成する
  • クリーンアップ、配列、ファイル検査、関数、警告を 1 つのスクリプトに統合する

このコースの対象者

このコースは、Bash スクリプト基礎を修了し、小規模保守スクリプトをよりモジュール化し予測可能にする中級技術を学びたい方を対象としています。

前提知識: Bash スクリプト、変数、位置引数、条件、ループ、ファイル検査、終了コード、リダイレクト、実行権限、基本ファイルコマンド。

学習環境: Ubuntu ベースの LabEx ターミナル。Bash、編集可能なスクリプト、一時ファイルとシグナルの演習、最後のチャレンジ用の準備済みアプリケーションログ 3 件を使用します。

よくある質問

コースはどのような構成ですか?

最初の 5 つはガイド付きラボです。6 つ目は Cleanup Trap、関数、配列、文字列置換、ループを組み合わせた log_manager.sh を作るチャレンジです。

最後のログ管理ツールは圧縮、削除、本当のローテーションを行いますか?

いいえ。準備済み .log を同じ場所の .backup にコピーし、元ファイルを残します。圧縮、保持、切り詰め、logrotate 設定は行いません。

Trap 演習はどのイベントを処理しますか?

ガイド付きラボでは SIGINT と EXIT に Cleanup を登録し、Ctrl+C と通常終了で一時ファイルを削除します。最後の課題は report.txt を消す EXIT Trap を要求します。

Bash 関数は return で文字列を返せますか?

この演習では返せません。return は制御用の 0〜255 の整数状態を伝え、テキストは echo で出力するかコマンド置換で取得します。

講師

labby
Labby
Labby is the LabEx teacher.

おすすめ

no data