厨师食谱模板正则表达式匹配
Chef cookbook template REGEX to match
我有一个模板文件
#fileName: test.properties.erb
<% if @env == 'STAGING' && node['hostname'] =~ /^staging/ %>
somekey=node['hostname']
<% else %>
somekey=defaultNode
<% end %>
我的食谱如下
template ("test.properties") do
source 'test.properties.erb'
variables(
env: "STAGING"
)
end
我想与 REGEX 检查一起执行 && 操作
当我在 erb 文件中使用以下内容时,它与 &&
一起使用
<% if @env = 'STAGING' && node['hostname'].include?('staging-01') %>
...
我想应用正则表达式并检查主机名是否以字符串开头 staging
假设我有 staging-01
、staging-02
并同时申请
答案好像很简单Ruby字符串匹配表达式
所以我更改了表达式 node['hostname'].match(/staging*/)
并成功评估了食谱。
#fileName: test.properties.erb
<% if @env == 'STAGING' && node['hostname'].match(/staging*/) %>
somekey=node['hostname']
<% else %>
somekey=defaultNode
<% end %>
我有一个模板文件
#fileName: test.properties.erb
<% if @env == 'STAGING' && node['hostname'] =~ /^staging/ %>
somekey=node['hostname']
<% else %>
somekey=defaultNode
<% end %>
我的食谱如下
template ("test.properties") do
source 'test.properties.erb'
variables(
env: "STAGING"
)
end
我想与 REGEX 检查一起执行 && 操作
当我在 erb 文件中使用以下内容时,它与 &&
一起使用<% if @env = 'STAGING' && node['hostname'].include?('staging-01') %>
...
我想应用正则表达式并检查主机名是否以字符串开头 staging
假设我有 staging-01
、staging-02
并同时申请
答案好像很简单Ruby字符串匹配表达式
所以我更改了表达式 node['hostname'].match(/staging*/)
并成功评估了食谱。
#fileName: test.properties.erb
<% if @env == 'STAGING' && node['hostname'].match(/staging*/) %>
somekey=node['hostname']
<% else %>
somekey=defaultNode
<% end %>