A partir deste site , obtive a seguinte função Bash para redimensionar imagens usando o ImageMagick:
smartresize() { mogrify -path $3 -filter Triangle -define filter:support=2 -thumbnail $2 -unsharp 0.25x0.08+8.3+0.045 -dither None -posterize 136 -quality 82 -define jpeg:fancy-upsampling=off -define png:compression-filter=5 -define png:compression-level=9 -define png:compression-strategy=1 -define png:exclude-chunk=all -interlace none -colorspace sRGB $1 }
Depois de inserir o acima e pressionar <Return>
, o Bash emite o prompt ...>
para indicar que o comando está incompleto. Pressionar <Return>
novamente não faz com que desapareça. Eu tenho que inserir uma chave de fechamento extra }
antes de retornar ao prompt padrão do Bash.
Já fiz isso antes e não observei esse comportamento. Alguém pode sugerir como posso rastrear a causa?
Outros sintomas
Eu tentei usar smartresize()
:
$ mkdir smartout # Create destination folder
$ smartresize C82A4D44-0A8B-4BBA-90DB-45F683B3D8E6rot.jpeg 2016 smartout
# Output from smartresize
mogrify: unable to open image '}': No such file or directory @ error/blob.c/OpenBlob/3537.
mogrify: no decode delegate for this image format `' @ error/constitute.c/ReadImage/562.
Obviamente, o extra }
está sintaticamente errado, mas de acordo com Bash, devo inseri-lo.
Ao incluir a expressão bash em
{ }
; você precisa terminar com;
, então: