同时创建多个子文件夹厨师

时间:2017-07-31 15:51:07

标签: ruby linux chef chefdk

不确定如何使用数组创建多个 chef中Sales文件夹的子文件夹。

be able to access the Parse API

}

1 个答案:

答案 0 :(得分:3)

好的 - 有几点需要注意。首先,salesfolders目前不是有效数组。您需要像下面这样定义它:

salesfolders = ['foo', 'bar']

或者像这样:

salesfolders = %w(foo bar)

后一种语法是字符串数组的简写 - 它与第一个示例相同,但语法糖含量较少。

一旦你有一个格式很好的数组,你需要迭代该数组并为其中的每个项目运行一些代码。在Ruby中,这可以通过在数组上调用.each来实现,如下所示:

salesfolders.each do |salesfolder|
  # do something with salesfolder
end

请注意,那里设置了一个salesfolder变量,对于数组的每个项目都是不同的 - 如果我们查看前面的示例,第一次运行该代码块时它将是{{1 },第二个foo,等等。

考虑到这一点,如果我们想为每个销售文件夹运行您的Chef代码,我们可以这样做:

bar

对于我们数组中的每个salesfolder,我们将运行salesfolders.each do |salesfolder| directory "/something/else/here/#{salesfolder}" do owner 'root' group 'root' mode '0755' recursive true action :create end end 块并创建一个新目录。