Puppet/Ruby: 如何在 bash 行中使用 ruby 变量?
Puppet/Ruby: How to use a ruby variable in a bash line?
我的 Puppet 环境中有一个 Nagios NRPE 模块。
在 nrpe.cfg
模板中,我配置了一些 if statements
以便对特定主机设置特定检查。
示例:
<% if @hostname =~ /rs\d+/ -%>
command[check_smtp]=/usr/lib64/nagios/plugins/check_smtp -H rs01.company.com -p 25 -e rs01.company.com
<% end -%>
含义:
如果主机名以字符 rs 开头,后跟一个数字,则在 if statement
块中应用检查命令。
我想将支票改成这样:
command[check_smtp]=/usr/lib64/nagios/plugins/check_smtp -H @hostname -p 25 -e @hostname
但问题是@hostname
是一个ruby变量,检查命令写在bash.
我怎样才能实现我的目标?
<% if @hostname =~ /rs\d+/ -%>
command[check_smtp]=/usr/lib64/nagios/plugins/check_smtp -H <%= @hostname -%> -p 25 -e <%= @hostname -%>
<% end -%>
我的 Puppet 环境中有一个 Nagios NRPE 模块。
在 nrpe.cfg
模板中,我配置了一些 if statements
以便对特定主机设置特定检查。
示例:
<% if @hostname =~ /rs\d+/ -%>
command[check_smtp]=/usr/lib64/nagios/plugins/check_smtp -H rs01.company.com -p 25 -e rs01.company.com
<% end -%>
含义:
如果主机名以字符 rs 开头,后跟一个数字,则在 if statement
块中应用检查命令。
我想将支票改成这样:
command[check_smtp]=/usr/lib64/nagios/plugins/check_smtp -H @hostname -p 25 -e @hostname
但问题是@hostname
是一个ruby变量,检查命令写在bash.
我怎样才能实现我的目标?
<% if @hostname =~ /rs\d+/ -%>
command[check_smtp]=/usr/lib64/nagios/plugins/check_smtp -H <%= @hostname -%> -p 25 -e <%= @hostname -%>
<% end -%>