我正在将display-dhammapada输出的文本绘制到一个现有的图像中。以下CLI命令工作:
convert test.jpg
-pointsize 30
-draw "gravity northwest
fill black
text 120,200 '$( display-dhammapada)'"
result.png当我收到一个有收缩的引用时,...except。然后,文本输入过早地以错误结束,例如:
convert: non-conforming drawing primitive definition `s' @ error/draw.c/DrawImage/3182这是撇号的例子。
如果我将引号从" ' ' "反转到' " " ',那么我的图像上将得到文字文本$( display-dhammapada)。
在这种情况下,最好的消毒方法是什么?
发布于 2016-08-22 10:45:40
你可以通过sed这样净化你的报价:
convert -size 1000x1000 xc:red -pointsize 30 -draw "gravity northwest fill black text 120,200 '$(./display-dhammapada|sed "s/'/\\\'/g")'" result.png展示-dhammapada
#!/bin/bash
printf "There's one there!"

FYI:
这可能是一个想法,编写一个通用的清理程序脚本,您可以维护和修改。您可以考虑不允许它将@作为使ImageMagick读取文件并允许攻击的第一个字符,并且您可能不希望允许其他各种事情通过--例如尾随换行符或分号。
https://stackoverflow.com/questions/39076843
复制相似问题