【Bash講座 第12回・完結】自動化のその先へ。自作スクリプトの管理とエンジニアとしての歩き方

【Bash講座 第12回・完結】「黒い画面」はもう怖くない!エンジニアとしての新しい旅立ち

こんにちは!「リナックス先生」です。
全12回にわたるBash講座、ついに最終回です!
コウ君、最初の頃を覚えている? 「黒い画面が怖い」「終了の仕方がわからない」って泣いていた頃を。

コウ君

先生!懐かしいですね。
今はもう、サーバーに入ると実家に帰ったような安心感があります。
ログ解析もバックアップも自動化したおかげで、定時で帰れる日が増えました!
でも…作ったスクリプトが増えすぎて、どこに何を置いたか分からなくなってきちゃって。

リナックス先生

それは嬉しい悲鳴ね。
最終回は、増えすぎた「自作ツール」を整理して、Linux標準のコマンドと同じように使いやすくする「PATH(パス)」の設定。
そして、より安全なスクリプトを書くための「プロの作法」
最後に、これから君が学ぶべき「次の技術」について話すわ。
これを読めば、君はもう立派なインフラエンジニアよ!

第12回は、これまでの総まとめと「その先」の話です。
Bashを使いこなせるようになったあなたが、次に目指すべき景色をお見せします。

本講座のカリキュラム(全12回)

AlmaLinux 9 (RHEL 9互換) 環境を前提に、基礎から応用までステップバイステップで進めます。

  1. Bash入門編:シェルとカーネルの関係、CUIの哲学、環境構築
  2. ファイル操作の極意:絶対パス・相対パスと「ワイルドカード」の魔術
  3. 権限(パーミッション)とユーザー:chmod, chown, sudoの仕組みを完全理解
  4. 入出力リダイレクトとパイプ:Linuxの真骨頂!コマンド同士を連携させる技術
  5. テキスト処理の基本:cat, head, tail, less…ファイルの中身を覗く道具たち
  6. 最強のエディタ「Vi/Vim」入門:サーバー内でテキストを編集する必須スキル
  7. シェルスクリプトの第一歩:ファイルにまとめて自動実行!変数と引数の基礎
  8. 条件分岐(if文):サーバーの状態を見て「判断」できるスクリプトを作る
  9. 繰り返し処理(for/while文):面倒な単純作業を1秒で終わらせるループ処理
  10. テキスト処理の応用:grep, sed, awk…ログ解析の達人になるための三種の神器
  11. 実践・自動化スクリプト:バックアップと監視を自動化し、Cronで定期実行する
  12. 【今回】総仕上げ:自作スクリプトの集大成と、エンジニアとしての歩き方

1. 自分だけのコマンドを作る:「PATH」を通す

これまで作ったスクリプトを実行する時、./backup.sh/root/scripts/check_log.sh のように、毎回パスを指定していましたよね。
でも、lsgrep コマンドは、どこにいてもコマンド名だけで実行できます。

「自作スクリプトも、普通のコマンドみたいに呼び出したい!」
これを実現するのが「PATHを通す」という作業です。

Step 1: 専用ディレクトリを作る

ホームディレクトリの下に、自作コマンド置き場として bin ディレクトリを作るのがLinuxの慣習です。

[root@localhost ~]# mkdir ~/bin

Step 2: スクリプトを移動する

今まで作ったスクリプトをそこに放り込みます。

[root@localhost ~]# mv backup.sh ~/bin/
[root@localhost ~]# mv disk_check.sh ~/bin/

Step 3: 環境変数を設定する

「このディレクトリにあるファイルは、コマンドとして認めるよ」とOSに教えてあげます。
ホームディレクトリにある設定ファイル .bash_profile (または .bashrc) を編集します。

[root@localhost ~]# vi ~/.bash_profile

ファイルの末尾に以下の行を追加します。

export PATH=$PATH:$HOME/bin

Step 4: 設定を反映する

再ログインするか、以下のコマンドで即時反映させます。

[root@localhost ~]# source ~/.bash_profile

これで、どのディレクトリにいても backup.sh と打つだけで実行できるようになりました!

コウ君

おお!まるで最初からOSに入っていたコマンドみたいに使えます!
これが「自分だけの武器」が増えていく感覚…!

2. プロのスクリプト作法:安全装置をつける

個人で使う分には適当でもいいですが、業務で使うスクリプトには「安全性」が求められます。
以下の「おまじない」をスクリプトの冒頭に書く癖をつけましょう。

set -euo pipefail

#!/bin/bash
set -euo pipefail

# ここから処理を書く...

この呪文には、3つの強力な効果があります。

オプション 効果
-e
(Error)
コマンドが1つでも失敗したら、そこでスクリプトを即停止します。
(エラーを無視して突き進み、大事故になるのを防ぐ)
-u
(Unset)
未定義の変数を使おうとしたらエラーにします。
rm -rf $DIR/ で変数が空っぽだった場合、rm -rf / になる事故を防ぐ)
-o pipefail パイプラインの途中でエラーが起きても検知します。
command1 | command2 で command1 が失敗しても気づけるようにする)

3. Bashを卒業するタイミング

Bashは強力ですが、万能ではありません。
以下のようなケースでは、無理にBashで頑張らず、他の言語やツールに切り替えるのが「できるエンジニア」の判断です。

  • 行数が100行を超え始めた時PythonGo言語
  • 複雑な計算やAPI連携が必要な時Python
  • 100台のサーバーを一斉に設定したい時Ansible
リナックス先生

「道具に使われる」のではなく「道具を使い分ける」の。
でも、どんな言語を使うにしても、Linuxの基礎(ファイル操作、権限、パイプ)を知らないと何もできないわ。
Bashで学んだ基礎力は、どの技術に行っても絶対に裏切らない土台になるのよ。

4. 次に学ぶべき技術ロードマップ

Bash講座を完走したあなたが、次に学ぶべき技術を紹介します。

(1) Git(ギット):コードの保存と管理

作ったスクリプトを「v1」「v2」とファイル名で管理していませんか?
Gitを使えば、変更履歴を綺麗に管理でき、間違えても過去の状態に一瞬で戻せます。
エンジニアの必須教養です。

(2) Ansible(アンシブル):構成管理ツール

「10台のサーバーに同じユーザーを作って、同じ設定ファイルを入れる」
これをシェルスクリプトでやるのは限界があります。
Ansibleなら、「あるべき状態」を書くだけで、全サーバーを自動で設定してくれます。

(3) Docker(ドッカー):コンテナ技術

コマンドで環境を作るのではなく、「環境そのものをパッケージ化」してしまう技術です。
今のWeb開発の現場では当たり前に使われています。

完結のあいさつ:自動化の旅は終わらない

全12回、本当にお疲れ様でした。
第1回で ls コマンドすら恐る恐る打っていたコウ君が、今では自分でスクリプトを書いてサーバーを管理している。
この成長こそが、何よりの財産です。

コウ君

先生、本当にありがとうございました!
黒い画面はもう怖くありません。
これからは、面倒な作業を見つけるたびに「これ自動化できないかな?」って考えるようにします!

リナックス先生

その意気よ!
エンジニアの仕事は「楽をするための努力」を惜しまないこと。
学んだ技術を使って、あなた自身の時間を、そして世界の時間を生み出していってね。
卒業おめでとう!

▼エンジニアとしてのキャリアをここから始めよう!推奨VPS

【2026年最新】Linuxサーバー構築におすすめのVPS比較3選!現役エンジニアが速度とコスパで厳選
Linuxの勉強、まだ「自分のPC」でやって消耗していませんか?「Linuxを覚えたいけど、環境構築でエラーが出て先に進めない…」「VirtualBoxを入れたらパソコンが重くなった…」これは、Linux学習を始める9割の人がぶつかる壁です...

コメント