Bashスクリプト内の複数のファイルの名前付き変数の出力

Bashスクリプト内の複数のファイルの名前付き変数の出力

一連のJpgsを埋め、作業ディレクトリにサブディレクトリを作成し、入力されたJpgsをサブディレクトリに移動し、サブディレクトリに変更し、Imagemagickの変換コマンドを使用して、埋め込まれた単一の透明な.gifを上書きするスクリプトを作成しました。イメージ。最後のステップを除くすべてのステップが機能します。 Jpgファイルでこのスクリプトを実行すると正常に動作します。しかし、複数のJpgで試してみると、1つのJpgでは半分しか機能せず、もう1つのJpgでは機能しません。最後のコマンドで正しい名前の変数を使用しないと仮定していますが、正しい方法が見つかりませんでした。

クンクンスクリプト:

#!/bin/bash

if yad \
--image "dialog-question" \
--title "Alert" \
--button=gtk-yes:0 \
--button=gtk-no:1 \
--text "Have you resized JPGs?"

then
  convert *.jpg "$i" -bordercolor black -border 120x0 "pad$i.jpg"

mkdir -p ./padded; mv pad*.jpg $_

cd padded

cp /home/mastergif/ggg.gif /home/test/padded

convert ggg.gif *.jpg "$i" -background black -gravity center -compose dstover -composite $i*.jpg
exec bash
else
exit 1
fi

ベストアンサー1

私はこの問題をメンバーG-Manの助けを借りて解決しました。ループが必要です。

for i in *.jpg; do
c=$(($c+1))

convert ggg.gif "$i" -background black -gravity center -compose dstover -composite $c.jpg
done

おすすめ記事