Parece que a ordem relativa de argumentos modificadores (NN de qualidade) e nomes de arquivos é importante aqui, quase como se estivesse fazendo o que é dito de uma maneira muito simplista.
: cez@rhk; !ls
ls -lh Screenshot.jpg
-rw-r--r-- 1 cez staff 1.3M 5 24 19:20 Screenshot.jpg
: cez@rhk; mogrify -verbose -monitor -compress JPEG Screenshot.jpg -quality 10
load image[Screenshot.jpg]: 1079 of 1080, 100% complete
Screenshot.jpg JPEG 1920x1080 1920x1080+0+0 8-bit DirectClass 1.335MB 0.120u 0:05.680
save image[Screenshot.jpg]: 1079 of 1080, 100% complete
Screenshot.jpg JPEG 1920x1080 1920x1080+0+0 8-bit DirectClass 1.327MB 0.240u 0:02.960
: cez@rhk;
Então, a primeira vez que rodamos mogrify, nós especificamos o argumento -quality
após o nome do arquivo, e assim ele não sabe que o especificador de qualidade deve se aplicar àquela imagem.
: cez@rhk;mogrify -verbose -monitor -compress JPEG -quality 85 Screenshot.jpg
load image[Screenshot.jpg]: 1079 of 1080, 100% complete
Screenshot.jpg JPEG 1920x1080 1920x1080+0+0 8-bit DirectClass 1.341MB 0.100u 0:00.119
save image[Screenshot.jpg]: 1079 of 1080, 100% complete
Screenshot.jpg JPEG 1920x1080 1920x1080+0+0 8-bit DirectClass 459KB 0.190u 0:00.200
: cez@rhk;
Por outro lado, se especificarmos a configuração de qualidade antes do nome do arquivo de imagem, ele salvará a imagem com mais compactação, reduzindo o tamanho do arquivo.