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 -%>