如何为System.cmd构建参数?

时间:2017-04-27 02:00:13

标签: imagemagick elixir

我想使用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!'"不需要转义双引号。 我该怎么办?

1 个答案:

答案 0 :(得分:1)

此处不需要带有System.cmd/3的外部双引号。从shell运行命令时需要它们,因为参数包含空格而没有外部双引号,shell将在每个空格上拆分整个事物,最后传递等效的["text", "+4,+4", "Test hello world!"]。以下应该有效:

System.cmd(..., [..., "text +4,+4 'Test hello world!'", ...])