このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linux基礎:シェルスクリプトの基本

シェルスクリプトの基本
Linux で毎回同じコマンドを繰り返し実行するのは非効率であり、ミスの原因にもなります。そこで登場するのが シェルスクリプト です。シェルスクリプトは、複数のコマンドを一つのファイルにまとめ、連続的かつ自動的に実行できる仕組みを提供します。
シェルスクリプトを使うことで、ログ取得や定期的なバックアップ、システムの状態チェックといった作業を自動化できます。また、1行目に「#!/bin/bash」のように記述することで、どのシェルで実行するかを明示できる点も重要です。
ここでは、シェルスクリプトの基本的な仕組み、作成方法、記述上のルールについて具体的な例を交えて解説します。

1.シェルスクリプトとは
1.1. 定義と役割
シェルスクリプトは、シェルに入力する一連のコマンドをまとめたテキストファイルです。シェルはそのファイルを「台本(スクリプト)」として順番に実行します。
| 項目 | 説明 |
|---|---|
| 自動化 | 繰り返し行う作業を効率化できる。 |
| 再現性 | 同じ結果を何度でも再現可能 |
| 可読性 | コメントを入れることで処理内容をわかりやすくできる。 |
1.2. 実行例
例えば、システム情報をファイルに記録する場合、毎回次のようなコマンドを手作業で実行するのは面倒です。
[user@rocky9 ~]$ date >> sysinfo.log
[user@rocky9 ~]$ uptime >> sysinfo.log
[user@rocky9 ~]$ free -h >> sysinfo.logこのような処理をシェルスクリプトにまとめれば、ワンコマンドで実行できます。
2.シェルスクリプトの基本構造
2.1. シバン(#!)の指定
シェルスクリプトの1行目は「シバン」と呼ばれ、どのシェルを使うかを指定します。
#!/bin/bashこれにより、/bin/bash を利用してスクリプトが実行されることが保証されます。
2.2. コメント
「#」から始まる部分はコメントとして扱われ、実行されません。処理内容の説明や注意点を記載することで、スクリプトの理解や保守が容易になります。
2.3. 実行例(syscheck.sh)
#!/bin/bash
# システム情報をログに保存するスクリプト
date >> sysinfo.log
echo "----------------------------" >> sysinfo.log
uptime >> sysinfo.log
echo "----------------------------" >> sysinfo.log
free -h >> sysinfo.log
echo "============================" >> sysinfo.log3.シェルスクリプトの実行方法
3.1. bash コマンドを利用する場合
[user@rocky9 ~]$ bash syscheck.sh3.2. source コマンドを利用する場合
[user@rocky9 ~]$ source syscheck.shこの方法では、現在のシェル環境に影響を与えます。
3.3. 実行権限を付与して実行する場合
[user@rocky9 ~]$ chmod +x syscheck.sh
[user@rocky9 ~]$ ./syscheck.sh4.使用コマンドの解説
4.1. date コマンド
書式
date [オプション]日時を表示します。
| オプション | 説明 |
|---|---|
| +%F | 日付を YYYY-MM-DD 形式で表示 |
| +%T | 時刻を HH:MM:SS 形式で表示 |
4.2. uptime コマンド
書式
uptimeシステムの稼働時間やロードアベレージを表示します。
4.3. free コマンド
書式
free [オプション]システム内のメモリの状況を確認することができます。
| オプション | 説明 |
|---|---|
| -m | MB 単位で表示 |
| -h | 読みやすい形式(KB/MB/GB 自動換算) |
5.実行結果の例
[user@rocky9 ~]$ cat sysinfo.log
2025年 9月 5日 金曜日 22:47:50 JST
----------------------------
22:47:50 up 7:07, 2 users, load average: 0.18, 0.08, 0.01
----------------------------
total used free shared buff/cache available
Mem: 1.7Gi 1.3Gi 214Mi 19Mi 425Mi 471Mi
Swap: 2.0Gi 4.0Mi 2.0Gi
============================まとめ
- シェルスクリプトは一連のコマンドを自動化する仕組みであり、効率的で再現性の高い作業を可能にする。
- 1行目のシバン(#!)で実行シェルを指定するのが基本。
- コメントを活用することでスクリプトの可読性を高められる。
- 実行方法には bash コマンド、source コマンド、実行権限を付与して直接実行 の3種類がある。
- ログ取得やシステム管理タスクなど、実務において活用の幅が広い。
