我需要执行以下命令:
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
答案 0 :(得分:2)
使用数组;这是他们介绍处理的确切用例。
while IFS= read -r line; do
options+=(-filter dynamictext:"$line")
done < title.txt
melt color:#eeeeee "${options[@]}"
修复title.txt
,使其以换行符正确结束。