【Bash講座 第12回・完結】「黒い画面」はもう怖くない!エンジニアとしての新しい旅立ち
こんにちは!「リナックス先生」です。
全12回にわたるBash講座、ついに最終回です!
コウ君、最初の頃を覚えている? 「黒い画面が怖い」「終了の仕方がわからない」って泣いていた頃を。
先生!懐かしいですね。
今はもう、サーバーに入ると実家に帰ったような安心感があります。
ログ解析もバックアップも自動化したおかげで、定時で帰れる日が増えました!
でも…作ったスクリプトが増えすぎて、どこに何を置いたか分からなくなってきちゃって。
それは嬉しい悲鳴ね。
最終回は、増えすぎた「自作ツール」を整理して、Linux標準のコマンドと同じように使いやすくする「PATH(パス)」の設定。
そして、より安全なスクリプトを書くための「プロの作法」。
最後に、これから君が学ぶべき「次の技術」について話すわ。
これを読めば、君はもう立派なインフラエンジニアよ!
第12回は、これまでの総まとめと「その先」の話です。
Bashを使いこなせるようになったあなたが、次に目指すべき景色をお見せします。
本講座のカリキュラム(全12回)
AlmaLinux 9 (RHEL 9互換) 環境を前提に、基礎から応用までステップバイステップで進めます。
- Bash入門編:シェルとカーネルの関係、CUIの哲学、環境構築
- ファイル操作の極意:絶対パス・相対パスと「ワイルドカード」の魔術
- 権限(パーミッション)とユーザー:chmod, chown, sudoの仕組みを完全理解
- 入出力リダイレクトとパイプ:Linuxの真骨頂!コマンド同士を連携させる技術
- テキスト処理の基本:cat, head, tail, less…ファイルの中身を覗く道具たち
- 最強のエディタ「Vi/Vim」入門:サーバー内でテキストを編集する必須スキル
- シェルスクリプトの第一歩:ファイルにまとめて自動実行!変数と引数の基礎
- 条件分岐(if文):サーバーの状態を見て「判断」できるスクリプトを作る
- 繰り返し処理(for/while文):面倒な単純作業を1秒で終わらせるループ処理
- テキスト処理の応用:grep, sed, awk…ログ解析の達人になるための三種の神器
- 実践・自動化スクリプト:バックアップと監視を自動化し、Cronで定期実行する
- 【今回】総仕上げ:自作スクリプトの集大成と、エンジニアとしての歩き方
1. 自分だけのコマンドを作る:「PATH」を通す
これまで作ったスクリプトを実行する時、./backup.sh や /root/scripts/check_log.sh のように、毎回パスを指定していましたよね。
でも、ls や grep コマンドは、どこにいてもコマンド名だけで実行できます。
「自作スクリプトも、普通のコマンドみたいに呼び出したい!」
これを実現するのが「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行を超え始めた時 → Python や Go言語 へ
- 複雑な計算やAPI連携が必要な時 → Python へ
- 100台のサーバーを一斉に設定したい時 → Ansible へ
「道具に使われる」のではなく「道具を使い分ける」の。
でも、どんな言語を使うにしても、Linuxの基礎(ファイル操作、権限、パイプ)を知らないと何もできないわ。
Bashで学んだ基礎力は、どの技術に行っても絶対に裏切らない土台になるのよ。
4. 次に学ぶべき技術ロードマップ
Bash講座を完走したあなたが、次に学ぶべき技術を紹介します。
(1) Git(ギット):コードの保存と管理
作ったスクリプトを「v1」「v2」とファイル名で管理していませんか?
Gitを使えば、変更履歴を綺麗に管理でき、間違えても過去の状態に一瞬で戻せます。
エンジニアの必須教養です。
(2) Ansible(アンシブル):構成管理ツール
「10台のサーバーに同じユーザーを作って、同じ設定ファイルを入れる」
これをシェルスクリプトでやるのは限界があります。
Ansibleなら、「あるべき状態」を書くだけで、全サーバーを自動で設定してくれます。
(3) Docker(ドッカー):コンテナ技術
コマンドで環境を作るのではなく、「環境そのものをパッケージ化」してしまう技術です。
今のWeb開発の現場では当たり前に使われています。
完結のあいさつ:自動化の旅は終わらない
全12回、本当にお疲れ様でした。
第1回で ls コマンドすら恐る恐る打っていたコウ君が、今では自分でスクリプトを書いてサーバーを管理している。
この成長こそが、何よりの財産です。
先生、本当にありがとうございました!
黒い画面はもう怖くありません。
これからは、面倒な作業を見つけるたびに「これ自動化できないかな?」って考えるようにします!
その意気よ!
エンジニアの仕事は「楽をするための努力」を惜しまないこと。
学んだ技術を使って、あなた自身の時間を、そして世界の時間を生み出していってね。
卒業おめでとう!
▼エンジニアとしてのキャリアをここから始めよう!推奨VPS



コメント