木偶不在代码中
puppet in not in code
我有这个代码...
if $hostname in $var_slave {
file {
"/var/spool/cron/mysql":
ensure => present,
owner => $mysqlUser,
group => $mysqlGroup,
mode => "0600",
source => 'puppet:///modules/eikonappdbcron/mysql-slave',
}
}
我想要一种检查值是否不在文件中的方法。
我试过 "if $hostname not in $var_master" 但这不起作用。在做了一些研究之后,我相信我需要使用“!”。我的语法不正确。
Puppet 没有单一的组合 "not in" 运算符。相反,它有 the in
operator, and it has a general-purpose boolean negation operator (!
)。您可以将它们一起使用来编写一个复合表达式来评估您想要的条件。
如果您已经意识到这一点,那么您可能 运行 遇到了 operator precedence 的问题。否定运算符的优先级高于 in
。实际上,!
在所有 Puppet 运算符中具有最高的优先级,因此如果它的 ope运行d 是一个二进制表达式,那么您必须将 ope运行d 括在括号中。
因此,布尔表达式的否定
$hostname in $var_master
是
! ($hostname in $var_master)
我有这个代码...
if $hostname in $var_slave {
file {
"/var/spool/cron/mysql":
ensure => present,
owner => $mysqlUser,
group => $mysqlGroup,
mode => "0600",
source => 'puppet:///modules/eikonappdbcron/mysql-slave',
}
}
我想要一种检查值是否不在文件中的方法。
我试过 "if $hostname not in $var_master" 但这不起作用。在做了一些研究之后,我相信我需要使用“!”。我的语法不正确。
Puppet 没有单一的组合 "not in" 运算符。相反,它有 the in
operator, and it has a general-purpose boolean negation operator (!
)。您可以将它们一起使用来编写一个复合表达式来评估您想要的条件。
如果您已经意识到这一点,那么您可能 运行 遇到了 operator precedence 的问题。否定运算符的优先级高于 in
。实际上,!
在所有 Puppet 运算符中具有最高的优先级,因此如果它的 ope运行d 是一个二进制表达式,那么您必须将 ope运行d 括在括号中。
因此,布尔表达式的否定
$hostname in $var_master
是
! ($hostname in $var_master)