シェルスクリプト入門|初心者でも書ける基本の作り方と実行方法|UNIX Cafe

当サイトでは、コンテンツの一部に広告を掲載しています。
第8回|UNIX Cafe「シェルスクリプト入門編」

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

このスクリプトは、

  1. メッセージを表示
  2. 現在の日時を表示
  3. ファイル一覧を表示

という処理を、上から順に実行します。

実行権限をつける(重要)

作成しただけでは、スクリプトは実行できません。
実行権限を付ける必要があります。

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 のおすすめ本

あわせて読みたい
レベル・用途別おすすめ Linux 本リスト|UNIX Cafe UNIX Cafe | 第65回 Linux の世界には、「はじめて触る人」「コマンドを覚えはじめた人」「サーバーに挑戦したい人」と、さまざまな段階があります。そんなときに、自分...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

のいのアバター のい UNIX Cafe 編集部

UNIX Cafe は、むずかしい言葉をできるだけ使わず、物語を読むような気持ちで気軽に学べる場所です。
プログラミングは、アイデアをコンピューターに伝えるための「ことば」。
簡単な単語と文法を覚えることで、誰でもターミナルから便利なコマンドを使えるようになります。
コーヒーを片手に立ち寄るような気持ちで、やさしいプログラミングの世界を、
そっとのぞいてみてください。

目次