
UNIX Cafe | 第8回
はじめに|いつもの作業をまとめてみよう
ミナちゃんユニ先生、毎日同じコマンドを何回も打つの、ちょっと大変です…💦



うんうん、そういうときは「シェルスクリプト」を使ってみよう。
いくつかのコマンドを“レシピ”みたいにまとめておけば、一回でぜんぶ実行できるんだ。
シェルスクリプトってなに?



シェルスクリプトってよく聞きますけど…結局なんなんですか?



うん、いい質問だね。
シェルスクリプトっていうのはね、コマンドを順番に並べて書いた“ミニプログラム”なんだ。



ミニプログラム? なんだか可愛い名前ですね!



ふだんターミナルでひとつずつ手で打っている作業を、
ひとつのファイルにまとめて実行できるんだよ。
つまり、毎日の“ルーチンワーク”を自動化できるってわけだね。
基本の書き方



この一行目の #!/bin/bash は「このスクリプトはbashで動かします」という宣言なんだ。
カフェで言えば「今日はこのレシピで淹れますよ。」という合図だね。



なるほど〜!
これがあると、どのコーヒーマシン(シェル)で動かすか分かるんですね。
ファイルを作ろう



静かなテキストエディタ、nanoで…小さなスクリプトを紡いでみましょう。あせらず、ゆっくりで大丈夫ですよ。
bash
$ nano morning.shファイルの中に書く内容
#!/bin/bash
echo "Good morning, UNIX Café!"
date
ls保存したら、実行できるように“権限”をつけよう
bash
$ chmod +x morning.shそして、実行!
bash
$ ./morning.sh


わあ〜! 一瞬でコマンドが順番に動いた!まるで、カフェの照明と音楽が自動でつくみたいです。



そう、それがシェルスクリプトの魔法だよ。
朝の一杯のコーヒーみたいに、気持ちよく1日の作業を始められるんだ。
コマンドを組み合わせてみよう



こうすれば、毎回やっていた“ログのお片づけ”を一瞬で終わらせられるよ。カフェで言うなら、閉店後に自動でテーブルを片づける感じだね。
#!/bin/bash
echo "Cleaning logs..."
mkdir -p backup
mv *.log backup/
echo "All logs moved to backup folder!"


うわぁ、便利すぎますね!
これならうっかり片づけ忘れる心配もありません。
Try it!|自分だけのシェルスクリプトを作ってみよう



「今日のコーヒー日報」を出力するシェルスクリプトを作りましょう!
ファイルを作ろう
bash
$ 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"保存したら、実行できるように“権限”をつけよう
bash
$ chmod +x coffee_report.shそして、実行!
bash
$ ./coffee_report.sh実行例(出力)
bash
$ ==========================
☕ 今日のコーヒー日報
📅 日付: 2025年10月21日 09:30
==========================
🌤 今日もおいしい一杯からスタートです!
今日のコーヒー豆の名前を入力してください: グアテマラ・アンティグア
抽出方法(ドリップ / フレンチプレス / エスプレッソなど): ドリップ
味の感想をひとことどうぞ: 香りがよくてすっきり!
📝 今日の記録
--------------------------
豆の種類: グアテマラ・アンティグア
抽出方法: ドリップ
感想: 香りがよくてすっきり!
--------------------------
✨ よい一日を!☕🐧
📂 記録を保存しました:/home/username/coffee_reports/coffee_20251021_0930.txt



うーん、なんだか自分がちょっとしたプログラマーになった気分です。
「Good night, UNIX Cafe!」ってスクリプトも作ってみようかな。



コーヒーの味を記録するのも、立派なデータ管理だよ。
“ログ”はね、思い出と同じで、あとで読むとちょっと温かい。
コーヒーブレイク:ユニ先生のひとこと


まとめ



今日は、コマンドを並べて自動で動かす“シェルスクリプト”の作り方を学びました。もう一度おさらいしてもいいですか?



もちろん!
大事なポイントはこの4つだよ。
- #/bin/bash スクリプトの宣言
- chmod +x 実行権限をつける
- ./script.sh スクリプトを実行する
- echo メッセージを表示する



うん、これで自分のカフェスクリプトが作れそうです!
「Good morning, UNIX Cafe!」って動いたとき、ちょっと感動しちゃいました。



ふふっ、それはいいね。
コマンドを自分の言葉で動かせるようになると、
コンピュータがぐっと“身近な存在”になるんだよ。



