所以我有一个实现简单液体模板的bash函数:
<?php
}
?>
这样template () {
key=$(echo "$2" | tr -d '[:space:]')
# escape slashes
value=$(echo $3 | sed -e 's/\\/\\\\/g' -e 's/\//\\\//g' -e 's/&/\\\&/g')
echo "$1" | sed "s/{{$key}}/$value/g; s/{{$key:[^}]*}}/$value/g"
}
会在给定的template foo bar zorp
模板中将{{bar}}
替换为zorp
。
我的问题是将此函数的输出作为值反馈导致换行被删除,并最终从行长度限制中查出错误。有没有办法逃脱换行符,以便它们完整地通过模板?
答案 0 :(得分:0)
这不是剥离你的新行的sed,它是你处理输出的方式。如果您将输出捕获到新模板中,请注意不要“压扁”它。
foo2=$(template "$foo" bar zorp)
foo3=$(template "$foo2" moo burp)