在golang exec中转义双引号

帕维尔·K。

我需要运行以下命令:

ffmpeg -i input.jpg -vf scale="'if(gt(a,4/3),320,-1)':'if(gt(a,4/3),-1,240)'" output_320x240_boxed.png

所以我执行:

cmd = exec.Command("ffmpeg", "-i", "input.jpg", "-vf", "scale=\"'if(gt(a,4/3),640,-1)':'if(gt(a,4/3),-1,300)'\"", "output_320x240_boxed.png")

它失败,并显示以下错误:

Error when evaluating the expression 'if(gt(a,4/3),-1,300)"'.
Maybe the expression for out_w:'"if(gt(a,4/3),640,-1)' or for out_h:'if(gt(a,4/3),-1,300)"' is self-referencing.

在命令行中执行命令时,命令起作用。为什么会发生这种情况,我该如何转义那些双引号以防止发生此错误?

詹姆斯·亨斯特里奇

当执行给定的ffmpeg命令行时,shell将其解析为一组命令行参数,这些参数实际上是:

{
    "ffmpeg",
    "-i",
    "input.jpg",
    "-vf",
    "scale='if(gt(a,4/3),320,-1)':'if(gt(a,4/3),-1,240)'",
    "output_320x240_boxed.png",
}

scale=...shell解释参数中的多余引号,而不是传递给基础程序。因此,当使用Go执行相同的程序时,您将直接传递一个参数列表,因此应省去那些多余的引号。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Ruby中转义双引号

来自分类Dev

在变量中转义双引号

来自分类Dev

在 .csv 中转义双引号

来自分类Dev

在速度中转义双引号

来自分类Dev

使用Regex [JS]在双引号中转义双引号

来自分类Dev

在shell脚本的变量中转义双引号

来自分类Dev

Grails-在参数中转义双引号

来自分类Dev

在Fuseki SPARQL查询中转义双引号?

来自分类Dev

在bash脚本中转义双引号

来自分类Dev

在动态rsync命令中转义双引号

来自分类Dev

在Gracenote GNSDK脚本中转义双引号

来自分类Dev

在Linux中的Perl中转义双引号

来自分类Dev

在命令替换中转义双引号

来自分类Dev

如何在terraform中转义双引号?

来自分类Dev

在 Windows 命令中转义双引号

来自分类Dev

在单引号内的双引号中转义单引号

来自分类Dev

如何在JavaScript中转义单引号或双引号?

来自分类Dev

在Javascript的html属性中转义双双引号

来自分类Dev

在CSS选择器中转义双引号

来自分类Dev

不要在字符串中转义双引号

来自分类Dev

避免在字符串中转义双引号

来自分类Dev

在TF2脚本中转义双引号

来自分类Dev

如何在if else +串联公式中转义双引号

来自分类Dev

kdb:避免在字符串中转义双引号

来自分类Dev

如何使用Java Object在Json中转义双引号

来自分类Dev

在sed反向引用替换中转义双引号

来自分类Dev

如何在php中转义双引号?/“ 不管用

来自分类Dev

在shell脚本中的变量中转义双引号

来自分类Dev

在bash和qmake中转义变量的双引号