如何外部化“heredoc”的模板部分?外部化来自heredoc的模板
我有一个使用“定界符”将数据写入到文件的bash脚本:
foo=bar
data=$(cat <<EOF
foo: $foo
EOF
)
echo $data
当执行这个脚本,我看到预期foo: bar
。
现在,我想从脚本中拉出模板部分以支持使用不同模板文件的多种输出格式。例如,template.properties
文件只包含:
foo: $foo
为此我修改剧本:
foo=bar
template=$(cat template.properties)
data=$(cat <<EOF
$template
EOF
)
echo $data
我遇到的问题是,$foo
变量永远不会被评估,即上面的代码打印出foo: $foo
而不是所需的foo: bar
。
您需要template.properties'的'内容评估,对于工作。 – andlrc