Pela página man mogrify
não toma uma opção de saída, ela simplesmente sobrescreve o arquivo de entrada a menos que o formato seja alterado (o mesmo nome é usado até a extensão do arquivo).
Tente isso usando convert
.
#!/bin/bash
n=1
for i in *.JPEG; do
convert "$i" -format jpg -quality '25%' $(printf con-%03d.JPEG $n)
n=$((n+1))
done
JPEG vs jpg
Eu organizei a mesma imagem duas vezes
$ mogrify -format JPEG b.jpg
$ mogrify -format jpg b.jpg
Então
$ diff -u <(identify -verbose b.jpg ) <(identify -verbose b.JPEG)
--- /dev/fd/63 2018-09-29 14:42:27.506462707 -0400
+++ /dev/fd/62 2018-09-29 14:42:27.510462929 -0400
@@ -1 +1 @@
-Image: b.jpg
+Image: b.JPEG
@@ -71,2 +71,2 @@
- date:create: 2018-09-29T14:37:11-04:00
- date:modify: 2018-09-29T14:37:11-04:00
+ date:create: 2018-09-29T14:37:03-04:00
+ date:modify: 2018-09-29T14:37:03-04:00
@@ -77 +77 @@
- filename: b.jpg
+ filename: b.JPEG