シェルスクリプトの基礎

シェルスクリプトの基礎を学びます。このモジュールでは、最初のスクリプトの作成、変数とユーザー入力、If Else を使用した条件ロジック、For および While を使用したループ、終了コードとエラー処理、スクリプトのスケジュール設定とログについて扱います。実践的なラボと実世界の課題を通じて、これらの不可欠な Linux スキルを習得します。

DevOps EngineerLinuxDevOps

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

はじめに

この中級コースでは、使い慣れたシェルコマンドを再利用可能な Bash プログラムへ組み立てます。6 つのガイド付きラボで、実行可能スクリプト、対話入力と引数、条件分岐、ループ、コマンド終了状態、タイムスタンプ付き履歴を実践します。

最後のチャレンジでは、1 つのユーザー名を検証し、重複を避け、Bash ユーザーと所有権を設定した作業ディレクトリを作成し、成功を監査ログに残す onboard.sh を構築します。

学習内容

  • Shebang を持つ Bash スクリプトを書き、実行権限を付けて ./ で起動する
  • 変数に値を保存し、read または位置引数 $1 で入力を受け取る
  • if と else でファイルの存在と数値ユーザー ID を検査する
  • for ループで数値範囲とファイル名ワイルドカードを反復する
  • 数値条件が真の間、while ループで処理を繰り返す
  • コマンド直後の $? を確認し、失敗時に分岐する
  • 絶対パスのログへメッセージと時刻を追記し、履歴を上書きしない
  • 引数検証、所有権、監査ログを備えたアカウント作成スクリプトを構築する

このコースの対象者

このコースは、ターミナルコマンド、ファイル、権限、変数、リダイレクトを理解し、それらを小さな Bash 管理スクリプトへ組み合わせたい Linux ユーザーを対象としています。

前提知識: ターミナル操作、ファイル操作、Nano などのエディター、Shell 変数、ワイルドカード、コマンド置換、リダイレクト、権限、sudo に慣れていること。

学習環境: Ubuntu ベースの LabEx ターミナル。Bash、編集可能なプロジェクトスクリプト、準備済みテストファイル、チャレンジ用ローカルアカウントを作成する隔離管理権限を使用します。

よくある質問

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

最初の 6 つはガイド付きラボです。7 つ目は、実行可能な onboard.sh を段階的に作成・テストする、ヒントの少ないチャレンジです。

Scheduling ラボでは Cron を設定しますか?

いいえ。絶対パスのログにメッセージと date を追記して無人実行に備え、手動で複数回実行します。Cron 設定は別コースです。

最後のスクリプトはシステムに何を変更しますか?

隔離ラボで sudo useradd -m -s /bin/bash により実際のローカルテストアカウントを作り、/home/<username>/work の所有権を設定し、~/project/onboard.log に追記します。

エラー処理はどこまで高度ですか?

$?、非ゼロの exit、引数数検証、コマンド失敗や既存ユーザーの条件処理を扱います。Trap、set -euo pipefail、後始末、トランザクション的ロールバックは扱いません。

講師

labby
Labby
Labby is the LabEx teacher.