今回は、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ファイルからユーザー名を抽出して繰り返す)
実践的なシェルスクリプトです。
バックアップ対象のファイルを日付ディレクトリを作成し、そこにバックアップ対象ファイルをコピーします。
#!/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文を解説しました。