
UNIX Cafe | 第13回
はじめに|毎回同じ作業、どうしてますか?
ミナちゃんユニ先生、スクリプトが長くなってきました💦
似たような処理を何度も書いてる気がして、ちょっとごちゃごちゃです…。



ふふっ、いいところに気づいたね。
同じ作業を何度も書くのは、まるで毎回コーヒー豆を一粒ずつ量ってるようなものさ。効率を上げるには、“関数”を使うんだよ。
関数を作って使ってみよう!



関数? 数学みたいですね?



そうそう。
「ひと仕事」をひとまとまりにしておけば、何度でも呼び出せるんだ。
まるでカフェの“レシピカード”みたいなものさ。



“レシピカード”ですか? それなら分かりやすいです。
どうやって書くんですか?



関数の書き方はシンプルだよ。「関数名 { … }」で囲むだけ。
じゃあ、カフェ風の例を見てみよう。
コーヒーを淹れる関数を作る
#!/bin/bash
brew_coffee() {
echo "☕ コーヒーを淹れています..."
sleep 1
echo "☕ 出来上がりました!"
}
echo "おはようございます!"
brew_coffee
brew_coffee
echo "今日もいい香りです✨"



うわぁ〜! 呼ぶたびに同じ動作をしてくれるんですね!
これなら「コーヒー淹れスクリプト」をいくらでも再利用できます。



関数は“ひと仕事の定義”。
スクリプトの中で同じ作業をくり返すときに、とっても便利なんだ。
引数を使ってみよう



同じ関数でも、種類を変えて淹れたいときはどうすればいいですか?



いい質問だね。そんなときは“引数”を渡せばいいんだ。
これで1つの関数を、いろんな目的で使いまわせるんだよ。
引数でコーヒーの種類を変える
#!/bin/bash
brew_coffee() {
echo "☕ $1 コーヒーを淹れています..."
sleep 1
echo "☕ $1 コーヒーが出来上がりました!"
}
brew_coffee ブレンド
brew_coffee カフェラテ
brew_coffee エスプレッソ



すごいっ! 呼ぶたびに違うコーヒーが出てきます!
これ、ほんとにカフェの注文システムみたいですね。



ふふっ、そうなんだ。
同じ“道具”を少し工夫するだけで、スクリプトがぐんと柔軟になるんだよ。
Try it!|自分の関数を作ってみよう
- 関数を定義して、「おはよう」メッセージを出す
- 引数を受け取って、好きな飲み物を表示する
- 複数の関数を組み合わせて、“一日のカフェスクリプト”を作る
カフェの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



わぁ〜! 朝から夜まで自動でカフェが動いてるみたいです。
もうスクリプトというより“カフェスタッフ”ですね!



ふふっ、まさにそれさ。
関数を使えば、スクリプトがチームのように働いてくれるんだ。
コーヒーブレイク:ユニ先生のひとこと


ページのまとめ
- 関数の定義 function_name() { … }
- 関数の呼び出し function_name
- 引数の利用 $1, $2, …
- 再利用性UP 同じ処理をまとめて呼び出す



今日は“ひと仕事ひと関数”の大切さがわかりました!
これで長いスクリプトも見やすくなりそうです。



いいねぇ。
関数を使うと、スクリプトは“整理されたカフェ”みたいに気持ちよく動くんだ。
同じ作業を何度も書かなくていいって、ほんとに楽だよ。




