Bash関数の使い方:初心者向けガイド

January 16, 2025

Bashスクリプトを効率化し、再利用性を高めるためには関数の使用が欠かせません。関数を使うことで、繰り返し使用するコードを一箇所にまとめ、スクリプトを読みやすく保つことができます。本記事では、Bash関数の基本構文から応用的な使い方までを初心者向けに解説します。


1. Bash関数の基本構文

Bashで関数を作成するのは非常に簡単です。以下が基本構文です:

構文:


function_name() {
    # 関数内で実行するコマンド
}

例:

以下の例では、Hello Worldを出力する関数を作成しています。


#!/bin/bash

greet() {
    echo "Hello, World!"
}

greet

出力結果:


Hello, World!

2. 引数を使用した関数

Bash関数は、外部から引数を受け取ることができます。引数は$1, $2, $3のように番号で指定します。

例:


#!/bin/bash

add_numbers() {
    sum=$(( $1 + $2 ))
    echo "合計: $sum"
}

add_numbers 5 10

出力結果:


合計: 15

3. 戻り値を返す関数

Bash関数では、returnステートメントを使って整数値を返すことができます。

例:


#!/bin/bash

check_even() {
    if (( $1 % 2 == 0 )); then
        return 0
    else
        return 1
    fi
}

number=4
check_even $number
if [ $? -eq 0 ]; then
    echo "$number は偶数です"
else
    echo "$number は奇数です"
fi

出力結果:


4 は偶数です

4. ローカル変数の使用

関数内でのみ有効な変数を作成するには、localキーワードを使用します。

例:


#!/bin/bash

calculate_square() {
    local num=$1
    echo $(( num * num ))
}

result=$(calculate_square 5)
echo "5の二乗は: $result"

出力結果:


5の二乗は: 25

5. 実用的な関数の例

ここでは、実際に役立つ関数の例をいくつか紹介します。

例1:ファイルのバックアップを作成する関数


#!/bin/bash

backup_file() {
    local file=$1
    cp "$file" "$file.bak"
    echo "バックアップを作成しました: $file.bak"
}

backup_file myfile.txt

例2:ディレクトリ内のファイルをリストアップする関数


#!/bin/bash

list_files() {
    local dir=$1
    for file in "$dir"/*; do
        echo "ファイル: $file"
    done
}

list_files /path/to/directory

まとめ

Bash関数を活用することで、スクリプトの効率性と可読性を大幅に向上させることができます。初心者の方でも、基本を理解するだけで、柔軟で再利用可能なコードを簡単に作成できます。

さらにBashスクリプトを学びたい方は、私たちのBashスクリプトチートシートもご覧ください!