我是bash脚本的新手,所以请原谅....我试图将一些html内容与包含标准标题的模板结合起来,该模板具有占位符“ REPLACEME”,我认为我可以找到并替换它在。该循环仅对目录中的所有文件重复该操作。
REPLACEME="REPLACEME"
for file in *.html
do
TEMPLATE=$(<../template/template.html)
CONTENT=$(<$file)
OUTPUT="${TEMPLATE/"$REPLACEME"/"$CONTENT"}"
echo $OUTPUT > ../compiled/$file
done
这可以工作,但是生成的html文件已被换行符删除,这使其看起来像垃圾!有人可以帮忙吗?
代替:
echo $OUTPUT > ../compiled/$file
和:
echo "$OUTPUT" > ../compiled/$file
Shell对未加引号的变量执行单词拆分。如果使用的默认值IFS
,则表示所有空格序列(包括制表符和换行符)都将替换为一个空格。为了防止这种情况,请将该变量放在双引号中,如上所示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句