ここでは、B シェルで for 文と while 文による繰り返し処理のサンプルスクリプトを掲載しています。
スポンサーリンク
繰り返し処理サンプル
ディレクトリ内のファイルの一覧を取得して、ディレクトリは除外しファイルのみコピーするスクリプトになります。-f によってファイルであるかどうかを判定している部分もポイントです。
#!/bin/sh
# コピー元ディレクトリ
src_dir=/path/to/src/
# コピー先ディレクトリ
dst_dir=/path/to/dst/
# コピー元ディレクトリの一覧を取得してループ
ls $src_dir | while read filename; do
# ファイルのみコピーする(ディレクトリは対象外)
if [ -f $src_dir$filename ] ; then
# 実際のコピー処理
cp $src_dir$filename $dst_dir$filename
else
echo 'not copy target:'$filename
fi
done
# または、以下のように for 文を使用することもできる
# コピー元ディレクトリの一覧を取得してループ
for filename in `ls $src_dir`; do
if [ -f $src_dir$filename ] ; then
# 実際のコピー処理
cp $src_dir$filename $dst_dir$filename
else
echo 'not copy target:'$filename
fi
done
人生は良いことと悪いことの繰り返し。死ぬときはトントンだそうです。