我有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

09-25 17:00
查看更多