bashシェルスクリプトの解説 for文

今回は、for文について解説いたします。

for文は、繰り返し処理を行うための基本的な制御構造です。
ある条件下で、同じ処理を何度も実行したい場合に利用します。

for文の構文

for 変数 in リスト
do
# 繰り返したい処理
done

変数      繰り返しごとに異なる値が代入される変数名です。
リスト      繰り返し処理で変数に代入される値のリストです。
do … done  繰り返したい処理を記述する部分です。


リストは、以下の方法で指定できます。

・数値の範囲: for i in {1..10} (1から10までの数値を繰り返す)

・単語のリスト: for word in apple banana orange (apple, banana, orangeを繰り返す)

・変数: for file in *.txt (現在のディレクトリにあるすべての.txtファイルを繰り返す)

・コマンドの出力: for user in $(cut -d: -f1 /etc/passwd) (passwdファイルからユーザー名を抽出して繰り返す)

for文を使った実践的なシェルスクリプトサンプル

実践的なシェルスクリプトです。
バックアップ対象のファイルを日付ディレクトリを作成し、そこにバックアップ対象ファイルをコピーします。

#!/bin/bash

# バックアップ先ディレクトリ
backup_dir=”/tmp/backup”

# バックアップ対象ファイル
files=(“1.txt” “2.txt”)

# バックアップ日時
timestamp=$(date +%Y%m%d_%H%M%S)

# バックアップディレクトリを作成
mkdir -p “$backup_dir/$timestamp”

# ファイルをコピー
for file in “${files[@]}”
do
cp “$file” “$backup_dir/$timestamp”
done

上記のシェルを今回は、bk.shという名前にしました。
実行結果です。

 

まとめ

本日は、シェルスクリプトの解説としてfor文を解説しました。

タイトルとURLをコピーしました