
UNIX Cafe | 第8回
#!/bin/bash — 手作業をまとめて、自分だけの“カフェルーチン”を作ろう!
はじめに|いつもの作業をまとめてみよう
毎日同じコマンドを、何度も手で入力していませんか?
UNIX には、
よく使うコマンドをまとめて自動実行できる仕組みがあります。
それが シェルスクリプト です。
このページでは、#!/bin/bash から始めるシェルスクリプトの基本を、
初心者向けにやさしく解説します。
このページでわかること
- シェルスクリプトとは何か
#!/bin/bashの意味- スクリプトファイルの作り方
- 実行権限(chmod +x)の考え方
- 実用的な自動化例
シェルスクリプトとは何か
シェルスクリプトとは、
ターミナルで実行するコマンドを、順番に並べて書いたファイルです。
普段は、
echo
date
lsのように、1行ずつ入力している作業を、
ひとつのファイルとしてまとめて実行できます。
つまりシェルスクリプトは、
毎日のルーチン作業を自動化するための道具です。
基本構造|#!/bin/bash の役割
シェルスクリプトの先頭には、次の1行を書きます。
#!/bin/bashこれは、「このファイルは bash で実行します」という宣言です。
複数のシェルが存在する UNIX では、
どのシェルで動かすかを明示することが重要になります。
スクリプトファイルを作る
まずは、スクリプト用のファイルを作成します。
nano morning.sh拡張子 .sh は慣習的なもので、
必須ではありませんが、用途が分かりやすくなるためおすすめです。
ファイルの中に書く内容(最小例)
#!/bin/bash
echo "Good morning, UNIX Café!"
date
lsこのスクリプトは、
- メッセージを表示
- 現在の日時を表示
- ファイル一覧を表示
という処理を、上から順に実行します。
実行権限をつける(重要)
作成しただけでは、スクリプトは実行できません。
実行権限を付ける必要があります。
chmod +x morning.shこれは、「このファイルを実行してよい」という許可を与える操作です。
スクリプトを実行する
./morning.sh先頭の ./ は、
「今いるディレクトリの中にあるファイル」 を意味します。
実用例|ログ整理を自動化する
次は、日常作業でよくある例です。
#!/bin/bash
echo "Cleaning logs..."
mkdir -p backup
mv *.log backup/
echo "All logs moved to backup folder!"このスクリプトでは、
- backup フォルダがなければ作成
.logファイルをまとめて移動
という作業を、一度の実行で完了させています。
Try it|自分用スクリプトを作る
ここまで理解できれば、用途は自由に広げられます。
- 毎朝の作業チェック
- バックアップ処理
- 日報・ログの自動保存
あなたの「いつもの作業」を、そのままスクリプトに置き換えてみてください。
サンプルコード | 今日のコーヒーの小さな日誌
ファイルを作ろう
nano coffee_report.shファイルの中に書く内容
ミナちゃん今日のコーヒーの思い出を、そっと書きとめてくれるスクリプトです。豆の名前や淹れ方、ひとこと感想まで… quietly、小さな日誌にまとめてくれますよ。
#!/bin/bash
# ==========================
# ☕ 今日のコーヒー日報スクリプト
# ==========================
# 日付と時刻を表示
echo "=========================="
echo "☕ 今日のコーヒー日報"
echo "📅 日付: $(date '+%Y年%m月%d日 %H:%M')"
echo "=========================="
echo ""
# 今日の気分メッセージ
echo "🌤 今日もおいしい一杯からスタートです!"
echo ""
# コーヒー豆の種類を記録(入力を受け取る)
read -p "今日のコーヒー豆の名前を入力してください: " bean
read -p "抽出方法(ドリップ / フレンチプレス / エスプレッソなど): " method
read -p "味の感想をひとことどうぞ: " comment
echo ""
echo "📝 今日の記録"
echo "--------------------------"
echo "豆の種類: $bean"
echo "抽出方法: $method"
echo "感想: $comment"
echo "--------------------------"
echo "✨ よい一日を!☕🐧"
echo ""
# ログとして保存
report_dir="$HOME/coffee_reports"
mkdir -p "$report_dir"
report_file="$report_dir/coffee_$(date '+%Y%m%d_%H%M').txt"
{
echo "☕ 今日のコーヒー日報"
echo "日付: $(date '+%Y年%m月%d日 %H:%M')"
echo "豆の種類: $bean"
echo "抽出方法: $method"
echo "感想: $comment"
} > "$report_file"
echo "📂 記録を保存しました:$report_file"保存したら、実行できるように“権限”をつけよう
chmod +x coffee_report.shそして、実行!
./coffee_report.sh実行例(出力)
bash
$ ==========================
☕ 今日のコーヒー日報
📅 日付: 2025年10月21日 09:30
==========================
🌤 今日もおいしい一杯からスタートです!
今日のコーヒー豆の名前を入力してください: グアテマラ・アンティグア
抽出方法(ドリップ / フレンチプレス / エスプレッソなど): ドリップ
味の感想をひとことどうぞ: 香りがよくてすっきり!
📝 今日の記録
--------------------------
豆の種類: グアテマラ・アンティグア
抽出方法: ドリップ
感想: 香りがよくてすっきり!
--------------------------
✨ よい一日を!☕🐧
📂 記録を保存しました:/home/username/coffee_reports/coffee_20251021_0930.txt



うーん、なんだか自分がちょっとしたプログラマーになった気分です。



コーヒーの味を記録するのも、立派なデータ管理だよ。
よくあるポイント整理
#!/bin/bash:使用するシェルの指定chmod +x:実行権限を付ける./script.sh:スクリプトの実行方法- 上から順に処理される
まとめ|シェルスクリプトは小さな自動化から
シェルスクリプトは、
難しいプログラミングではありません。
「いつものコマンドを、そのまま並べる」
それだけで、作業はぐっと楽になります。
まずは短いスクリプトから。
UNIX の自動化は、そこから始まります。
さらに学びたいあなたへ
📘 用途ごとに選ぶ Linux のおすすめ本









