Bash / MLT:如何从文件加载字符串并传递给融合参数

时间:2016-10-04 07:02:29

标签: bash mlt melt-framework

我需要执行以下命令:

melt color:"#eeeeee"  -filter dynamictext:"this text"

"this text"是来自title.txt文件的字符串。

我使用这种方法读取文件:

while IFS='' read -r line || [[ -n "$line" ]]; do
     echo $line 
done < "title.txt"

问题是如何在bash循环中将-filter dynamictext:"this text"作为字符串,然后最终执行:

melt color:"#eeeeee" $string

我使用了这段代码但到目前为止没有运气:

while IFS='' read -r line || [[ -n "$line" ]]; do
   string="$string -filter dynamictext:\"$line\""
done < "title.txt"

熔化错误:Failed to load "text"

title.txt包含:

this text
second text
anothe text

1 个答案:

答案 0 :(得分:2)

使用数组;这是他们介绍处理的确切用例。

while IFS= read -r line; do
    options+=(-filter dynamictext:"$line")
done < title.txt
melt color:#eeeeee "${options[@]}"

修复title.txt,使其以换行符正确结束。