我想使用System.cmd从ImageMagick运行“转换”,但我遇到了困难
System.cmd("convert", ["origin.jpg", "-fill", "black", "-pointsize", "12", "-gravity", "SouthWest", "-draw", "\"text +4,+4 'Test hello world!'\"", "output.jpg"])
args -draw
的值为\"text +4,+4 'Test hello world!'\"
,但ImageMagick需要"text +4,+4 'Test hello world!'"
不需要转义双引号。
我该怎么办?
答案 0 :(得分:1)
此处不需要带有System.cmd/3
的外部双引号。从shell运行命令时需要它们,因为参数包含空格而没有外部双引号,shell将在每个空格上拆分整个事物,最后传递等效的["text", "+4,+4", "Test hello world!"]
。以下应该有效:
System.cmd(..., [..., "text +4,+4 'Test hello world!'", ...])