我有2个环境变量:
echo $FRONT1_PORT_8080_TCP_ADDR # 172.17.1.80
echo $FRONT2_PORT_8081_TCP_ADDR # 172.17.1.77
我想将它们注入我的default.vcl中,例如:
backend front1 {
.host = $FRONT1_PORT_8080_TCP_ADDR;
}
但是我在
$
字符上出现语法错误。我也尝试使用user variables,但是无法在
vcl_recv
之外定义它们。如何在VCL中检索我的2个值?
最佳答案
我已经成功解析了我的vcl
backend front1 {
.host = ${FRONT1_PORT_8080_TCP_ADDR};
}
使用脚本:
envs=`printenv`
for env in $envs
do
IFS== read name value <<< "$env"
sed -i "s|\${${name}}|${value}|g" /etc/varnish/default.vcl
done