Imagemagick tendo problemas para escapar de variáveis do shell

0

Eu tenho um comando imagemagick que está tendo problemas com as variáveis shell concatenadas $quote$arcangle e $halfdimension$quote que estou passando como strings. Aqui está a transcrição:

$> echo convert grad.png -alpha set -virtual-pixel Transparent -rotate 180 -distort Arc $quote$arcangle -90 $halfdimension$quote +repage -gravity center -crop $dimension"x"$dimension"+0+0" +repage h.png
   convert grad.png -alpha set -virtual-pixel Transparent -rotate 180 -distort Arc '360 -90 450' +repage -gravity center -crop 900x900+0+0 +repage h.png

$> convert grad.png -alpha set -virtual-pixel Transparent -rotate 180 -distort Arc $quote$arcangle -90 $halfdimension$quote +repage -gravity center -crop $dimension"x"$dimension"+0+0" +repage h.png
convert: unable to open image '-90': No such file or directory @ error/blob.c/OpenBlob/2709.
convert: no decode delegate for this image format '' @ error/constitute.c/ReadImage/501.
convert: unable to open image '450'': No such file or directory @ error/blob.c/OpenBlob/2709.
convert: no decode delegate for this image format '' @ error/constitute.c/ReadImage/501.

No entanto, colo a saída do comando echoed:

$> convert grad.png -alpha set -virtual-pixel Transparent -rotate 180 -distort Arc '360 -90 450' +repage -gravity center -crop 900x900+0+0 +repage h.png
(h.png is created without problems.)

Por que não está sendo analisado corretamente na primeira instância?

    
por Escher 22.11.2015 / 19:57

1 resposta

2

Talvez isso funcione, escreva isso no arquivo foo.sh :

#!/bin/bash
arcangle=270
dimension=768
fin=grad.png
fout=h.png
convert $fin -alpha set -virtual-pixel Transparent -rotate 180 -distort Arc "$arcangle -90" +repage -gravity center -crop "${dimension}x${dimension}+0+0" +repage $fout

e ./foo.sh

veja também aqui

    
por 22.11.2015 / 20:16