シェルスクリプト入門|作り方と実行方法をやさしく解説|UNIX Cafe

当サイトでは、コンテンツの一部に広告を掲載しています。
シェルスクリプト入門|作り方と実行方法をやさしく解説|UNIX Cafe

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 の世界には、「はじめて触る人」「コマンドを覚えはじめた人」「サーバーに挑戦したい人」と、さまざまな段階があります。そんなときに、自分...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

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

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

目次