检测字符串中是否包含指定的值
优质
小牛编辑
138浏览
2023-12-01
想知道什么在什么不在吗?Puppet 的 in
可以帮你, 如下面的表达式:
if "foo" in $bar
如果 foo
是 $bar
的子串,表达式的值为 true
。 如果 $bar
是个数组,并且 foo
是这个数组中的一个元素,表达式的值为 true
。 如果 $bar
是一个哈希,foo
是 $bar
的一个键值,表达式的值为 true
。
操作步骤
在你的配置清单中添加如下代码:
if $operatingsystem in [ "Ubuntu", "Debian" ] { notify { "Debian-type operating system detected": } } elsif $operatingsystem in [ "RedHat", "Fedora", "SuSE", "CentOS" ] { notify { "RedHat-type operating system detected": } } else { notify { "Some other operating system detected": } }
运行 Puppet:
# puppet agent --test Debian-type operating system detected
更多用法
in
表达式既可以使用在 if
语句或其他条件语句中,还可以在任何表达式能出现的地方使用。 例如,你可以像下面这样为一个变量赋值:
$debianlike = $operatingsystem in [ "Debian", "Ubuntu" ] if $debianlike { $ntpservice = "ntp" } else { $ntpservice = "ntpd" }