2016-01-13 58 views
0

我试图通过生成过滤器链使用bash到FFmpeg的,像这样:如何在命令中正确地引用替换字符串?

FILTER="-filter_complex \"...\"" 
ffmpeg -i ... $FILTER ... 

然而,ffmpeg的不喜欢这个,告诉我

没有这样的过滤器:“'

那么,如何做我正确地设置了适当取代而变?

回答

1

你需要-filter_complex...部分作为两个单独的参数传递,但是您需要...部分保持不变(因为单个参数—未被空白分隔,不经历文件名扩展等)。

来实现这一目标的最好方法是使用一个数组,然后用双引号里面的${arrayname[@]}符号来展开:

FILTER=(-filter_complex '...') 
ffmpeg -i ... "${FILTER[@]}" ... 
相关问题