首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >傀儡算子

傀儡算子
EN

Stack Overflow用户
提问于 2014-12-25 03:39:03
回答 1查看 2K关注 0票数 1

我正在用Puppet (3.7)编写一个条件语句,测试主机名是否在一个已定义的主机名数组中。如果为true,则该类继续运行,如果不运行,则使用fail函数退出。

代码语言:javascript
复制
if $::hostname in $approved_hosts != str2bool("true") {
  fail("This module is for approved reposync hosts only")

其中$approved_hosts是一个主机名数组。此方法不起作用,但如果我将$approved_hosts更改为“hostname1”,“hostname2”,则会起作用:

代码语言:javascript
复制
if $::hostname in ['hostname1', 'hostname2'] != str2bool("true") {
  fail("This module is for approved reposync hosts only")

有人能解释为什么当我将主机名数组转换为变量时,条件会失败,但不起作用?

谢谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-25 08:24:38

调整您的代码(未能通知),在test.pp文件中进行测试,它运行良好。

代码语言:javascript
复制
  $approved_hosts = ['hostname1', 'hostname2']
  if $::hostname in $approved_hosts != str2bool("true")
   { notify {"This module is for approved reposync hosts only":} }

因此,这意味着您的代码在数组定义上没有问题,它应该是其他的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27644029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档