
UNIX Cafe | 第13回
目次
はじめに|同じ処理を何度も書いていませんか?
シェルスクリプトを書いていると、
似たような処理を何度も書いていることに気づく瞬間があります。
- メッセージ表示
- ファイル操作
- 初期化処理
これらを毎回書いていると、スクリプトは長くなり、
読みにくく・直しにくくなってしまいます。
そこで役立つのが 関数(function) です。
ミナちゃん同じ作業をまとめておけたら、スクリプトもスッキリしそうですね。
関数とは?|「ひと仕事」をまとめた部品
関数とは、よく使う処理をひとまとめにした“名前付きのかたまり” です。
- 一度定義すれば
- 何度でも呼び出せる
- スクリプトが読みやすくなる
シェルスクリプトでは、次のように書きます。
関数名() {
処理
}基本例|同じ処理を何度も使う
#!/bin/bash
brew_coffee() {
echo "☕ コーヒーを淹れています..."
sleep 1
echo "☕ 出来上がりました!"
}
brew_coffee
brew_coffee
この例のポイント
brew_coffee()が関数の定義brew_coffeeと書くだけで処理を呼び出せる- 同じ処理を何度書く必要もない
👉 「ひと仕事ひと関数」 を意識すると、スクリプトの構造が一気に整理されます。
引数を使う|関数をもっと柔軟にする
関数は、引数(パラメータ) を受け取れます。
引数でコーヒーの種類を変える
#!/bin/bash
brew_coffee() {
echo "☕ $1 コーヒーを淹れています..."
sleep 1
echo "☕ $1 コーヒーが出来上がりました!"
}
brew_coffee ブレンド
brew_coffee カフェラテ
brew_coffee エスプレッソここで使っているもの
$1:最初の引数- 呼び出し時に内容を変えられる
👉 1つの関数を、何通りにも使い回せるのが大きなメリットです。
実践例|処理を役割ごとに分ける
関数は「処理の役割分担」に向いています。
#!/bin/bash
open_cafe() {
echo "🌅 カフェを開けます!"
}
brew_coffee() {
echo "☕ $1 を淹れています..."
sleep 1
echo "☕ $1 の出来上がり!"
}
close_cafe() {
echo "🌙 カフェを閉めます。おつかれさまでした☕"
}
open_cafe
brew_coffee モーニングブレンド
brew_coffee カフェラテ
close_cafeこの書き方の良いところ
- 処理の流れが 上から読むだけで分かる
- 修正したい処理がすぐ見つかる
- 長いスクリプトでも迷子にならない
ページのまとめ|関数を使うと何が変わる?
- 関数は 処理のかたまり
- 同じ作業を何度も書かなくていい
- 引数で柔軟に使い回せる
- スクリプトが「読み物」になる



関数を使うと、スクリプトが整理されたカフェみたいになりますね。
さらに学びたいあなたへ
📘 用途ごとに選ぶ Linux のおすすめ本
あわせて読みたい




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








