我需要将“dc_local_interfaces”的值设置为“127.0.0.1;::1”,但分号阻止了这一点。
这是我在 Puppet 中的定义:
augeas { "/etc/exim4/update-exim4.conf.conf":
lens => "Shellvars.lns",
incl => "/etc/exim4/update-exim4.conf.conf",
changes => "set dc_local_interfaces 127.0.0.1;::1",
}
我尝试了不同的方法来设置值(不使用撇号、使用撇号、使用反斜杠转义的撇号),但都没有奏效。当我使用 augtool 时一切正常:
set /files/etc/exim4/update-exim4.conf.conf/dc_local_interfaces "'127.0.0.1;::1'"
(几个小时后,我现在可以直接回答这个问题,而不是使用评论(为了更好的格式))
当我同时编写问题和测试时,我自己找到了答案,但由于一般来说 exim/puppet 几乎找不到,所以我决定发布这个,希望其他人会发现它有用。
你必须在外面使用撇号,这样你就可以在里面使用引号,以便能够再次在内部使用转义的撇号。是的。它实际上看起来比听起来更难看(空格现在也可以):
我的解决方案是这样的:
在 hiera 中:
它实际上不是非常特定于 exim...