Arrays 在数组中使用变量
如何在Chef中使用数组中的变量。我正在尝试使用数组创建多个文件夹。但是,我的代码不起作用: 代码Arrays 在数组中使用变量,arrays,ruby,linux,chef-infra,chef-recipe,Arrays,Ruby,Linux,Chef Infra,Chef Recipe,如何在Chef中使用数组中的变量。我正在尝试使用数组创建多个文件夹。但是,我的代码不起作用: 代码 %w{…}语法用于声明一个单词数组,不进行插值。由于您需要一个预先存在的字符串数组,因此可以通过声明一个普通的旧数组来实现: [ variable1, variable2 ].each do |dir| # ... end 或者您可以切换到以下位置: %w[ /var/lib/temp /opt/chef/library ].each |dir| # ... end 第二种形式更有意义
%w{…}
语法用于声明一个单词数组,不进行插值。由于您需要一个预先存在的字符串数组,因此可以通过声明一个普通的旧数组来实现:
[ variable1, variable2 ].each do |dir|
# ...
end
或者您可以切换到以下位置:
%w[ /var/lib/temp /opt/chef/library ].each |dir|
# ...
end
第二种形式更有意义,因为这是你的意图。不需要中间变量。感谢您的answar,这很有效。如何在子文件夹上使用该命令设置用户组
recursive true
不会在/var/lib/temp
和/opt/chef/library
下面的子文件夹上设置用户组。Linux中chown-R user:group/var/lib/temp/*的等价命令。这是一个完全不同的问题,所以最好将其作为一个单独的东西分开。
%w[ /var/lib/temp /opt/chef/library ].each |dir|
# ...
end