Bashのforループをマスターする:初心者向けガイド

January 16, 2025

Bashスクリプトを使う際、繰り返し処理を効率的に実行するにはforループが欠かせません。例えば、複数のファイルを操作する場合やリスト内のデータを処理する際に、forループを活用することで簡単に自動化できます。本記事では、Bashのforループの基本構文から実践的な使い方までを初心者向けに解説します。


1. Bashのforループの基本構文

forループは、リスト内の各要素に対して処理を繰り返す際に使用されます。

基本構文:


for item in list; do
    # 各要素に対して実行するコマンド
done

例:

以下の例では、リスト内の値を順番に出力します。


#!/bin/bash

for fruit in apple banana cherry; do
    echo "果物: $fruit"
done

出力結果:


果物: apple
果物: banana
果物: cherry

2. 数値の範囲を使ったループ

数値の範囲を指定することで、特定の回数だけループを実行することができます。

構文:


for i in {start..end..step}; do
    # 処理
done

例:

1から10までを2ずつ増加させながら出力します。


#!/bin/bash

for i in {1..10..2}; do
    echo "数値: $i"
done

出力結果:


数値: 1
数値: 3
数値: 5
数値: 7
数値: 9

3. ファイル操作での応用

forループは、複数のファイルを効率的に処理する際に便利です。

例:ディレクトリ内の全ファイルを出力


#!/bin/bash

for file in /path/to/directory/*; do
    echo "ファイル名: $file"
done

例:特定の拡張子のファイルを処理


#!/bin/bash

for file in *.txt; do
    echo "テキストファイル: $file"
done

4. ループ内で条件を使用する

forループ内で条件分岐を使用すると、より柔軟なスクリプトを作成できます。

例:


#!/bin/bash

for i in {1..10}; do
    if (( i % 2 == 0 )); then
        echo "$i は偶数です"
    else
        echo "$i は奇数です"
    fi
done

5. 実用的な応用例

以下は、forループを使った実用的な例です:

例1:ログファイルのバックアップ


#!/bin/bash

for file in /var/log/*.log; do
    cp "$file" /backup/$(basename "$file")
done

例2:複数ファイルの検索と置換


#!/bin/bash

for file in *.txt; do
    sed -i 's/oldtext/newtext/g' "$file"
done

まとめ

Bashのforループを習得することで、タスクの自動化や効率化が格段に向上します。基本構文を理解し、実践例を参考にしながら、自分のニーズに合ったスクリプトを作成してみましょう。

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