Eu resolvi o problema com a ajuda do membro G-Man. Eu precisava de um loop:
for i in *.jpg; do
c=$(($c+1))
convert ggg.gif "$i" -background black -gravity center -compose dstover -composite $c.jpg
done
Eu tenho um script que criei para preencher uma série de Jpgs, criar um subdiretório no diretório de trabalho, mover os Jpgs preenchidos para o subdiretório, mudar para o subdiretório e depois usar o comando convert do Imagemagick para sobrepor um único arquivo. transparente .gif sobre as imagens preenchidas. Tudo exceto o último passo funciona. Se eu executar este script em um arquivo Jpg, ele funcionará corretamente. Mas quando eu tento em vários Jpgs, ele funciona apenas em um Jpg e não nos outros. Eu suponho que não estou usando a variável de nomeação correta no último comando, mas não estou tendo sorte para encontrar a correção.
Script de bash:
#!/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
Tags rename yad shell-script variable