数组运算符

数组运算符

鉴于以下 Puppet 清单,我如何合并/连接两个数组,以便命令可以同时执行a=bb=c

Cron{
  environment => ["a=b"]
}

class a{
  cron{'test':
    command     => "/usr/bin/true",
    user        => "francois",
    environment => ["b=c"],
  }
}

include a

我的 crontab 条目最终如下所示:

# Puppet Name: test
b=c
* * * * * /usr/bin/true

答案1

我记得你不能直接这样做。不过,像这样的方法可能会有效:

$default_env = ["a=b"]

Cron {
  environment => $default_env
}

class a {
  $additional_env = split(inline_template("<%= (default_env).join(',') %>"),',')

  cron {"test":
    command => "true",
    user => "me",
    environment => $additional_env
  }
}

include a

(split/inline_template 基于http://www.crobak.org/2011/02/two-puppet-tricks-combining-arrays-and-local-tests/

答案2

作为https://www.puppet.com/docs/puppet/7/lang_data_array.html

数组运算符

您可以使用带有数组的运算符来创建新数组:

  • 附加到 <<
  • 用 + 连接[...]

你应该能够创建一个像这样的组合数组

    environment => ["b=c"] + ["a=b"],

但你可能想要join变量用另一种方式。

相关内容