0

我有一些区域文件使用像这样的绑定特定 $GENERATE 指令

$GENERATE 50-100 srv-${-50,3,d}  A 10.34.38.$

现在,当我将其添加到 cfengine 时,它​​会尝试扩展 ${...} 并给出错误。我可以用 \${ 转义这个 ${ 并通过 cfengine 但我不能使用 named-checkzone (cfengine LITERAL 指令也会使 named-checkzone 失败,因为它在区域文件中添加了@@LITERAL)。一种选择是将 $GENERATE 扩展为单行。我还有其他选择吗?

4

1 回答 1

1

这是 CFEngine 2 还是 CFEngine 3?

如果是 CFEngine 3,那么使用内置变量 const.dollar 会有所帮助吗?

考虑以下示例:

body common control {
    bundlesequence => { "test"};
}

bundle agent test {
    reports:
        linux::
            "$GENERATE 50-100 srv-$(const.dollar){-50,3,d}  A 10.34.38.$";
}

这将通过 cf-agent 输出以下内容:

# /var/cfengine/bin/cf-agent -K -f /tmp/test.cf 
R: $GENERATE 50-100 srv-${-50,3,d}  A 10.34.38.$

你想要达到的目标是这样的吗?

于 2011-08-10T13:01:10.677 回答