Используйте for image in *
вместо ls
.
Чтобы передать переменную в сценарий Gimp и сохранить кавычки для Gimp, вам нужно использовать двойные кавычки для внешних и экранировать внутренние кавычки:
gimp -i -b "(let* ( (img (gimp-file-load 1 \"$image\" \"$image\")) (drw (gimp-image-get-active-drawable (car img))) ) (gimp-image-scale-full 1 400 300 3) (file-jpeg-save 1 (car img) (car drw) \"processed/$image\" \"$image\" 0.6 0 1 1 "" 3 0 0 2) (gimp-quit 0) )"
Вы также можете упростить ваш скрипт:
mkdir processed
for image in *.jpg
do
if [[ -f $image ]]
then
gimp ...
fi
done
Если вы хотите включить дополнительные расширения:
for image in *.{jpg,JPG,jpeg,JPEG,gif,GIF,png,PNG}