現在のディレクトリで実行され、ファイルを見つけてそれらに対して何らかの操作を実行するbashスクリプトを実行しようとしています。ディレクトリが見つかったら、同じことを何度も繰り返します。
私を混乱させたのは私の操作でした。各グラフィックファイルを変換し、サイズを変更し、並列ディレクトリ構造に配置することになっています.4つの並列ディレクトリに対してそれを行います。つまり、元のディレクトリ構造を模倣してフォルダを作成します行きます。
問題は、それが機能せず、新しく作成されたディレクトリに再帰し続けることです..
それを正しくするのを手伝ってもらえますか?
recurse() {
for i in "$1"/*;do
if [ -d "$i" ];then
echo "dir: $i"
mkdir "res-ldpi/$i"
mkdir "res-hdpi/$i"
mkdir "res-mdpi/$i"
mkdir "res-xhdpi/$i"
recurse "$i";
elif [ -f "$i" ]; then
convert ./"$i" -resize 38% -unsharp 0x1 res-ldpi/"$i"
fi
done
}
recurse .