附录 A. 模板编写参考
			嵌入式 Ruby (ERB)是一个基于模板生成文本文件的工具,模板将纯文本与 Ruby 代码组合。Red Hat Satellite 在置备模板中使用 ERB 语法(第 9.3.9 节 “自定义模板” 和 在 Red Hat Satellite Provisioning Guide中的 Provisioning Templates )、远程执行 作业模板 (第 12 章 在 Satellite 主机上运行作业)、分区表 (第 9.3.8 节 “分区表”)的模板和智能 参数 (第 9.2.2 节 “配置智能变量”)。本节概述了 ERB 模板中使用的 Satellite 特定功能和变量,以及一些用法示例。请注意,Red Hat Satellite ( 
			在置备主机或运行远程作业时,ERB 中的代码会被执行,变量将被替换为特定于主机的值。这个过程被称为 渲染。Satellite 服务器默认启用 securemode 渲染选项,这可以防止从模板执行任何有害的代码。
		
A.1. 编写 ERB 模板
复制链接链接已复制到粘贴板!
				以下总结 ERB 语法:
			
- <% % >- 标记在 ERB 模板中使用 Ruby 代码。代码在渲染模板时执行。它可以包含 Ruby 控制流结构,以及 Satellite 特定功能和变量。例如:<% if @host.operatingsystem.family == "Redhat" && @host.operatingsystem.major.to_i > 6 %> systemctl <%= input("action") %> <%= input("service") %> <% else %> service <%= input("service") %> <%= input("action") %> <% end -%><% if @host.operatingsystem.family == "Redhat" && @host.operatingsystem.major.to_i > 6 %> systemctl <%= input("action") %> <%= input("service") %> <% else %> service <%= input("service") %> <%= input("action") %> <% end -%>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
- <%= % >- 代码输出插入到模板中。这对变量替换很有用,例如:echo <%= @host.name %> echo <%= @host.name %>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
- <% -% & gt; , <%= -% >- 默认,如果在某个行结束时关闭,会在 Ruby 块后面插入换行符。要阻止此行为,请修改 enclosing 标记。例如,以下模板:curl <%= @host.ip -%> /mydir curl <%= @host.ip -%> /mydirCopy to Clipboard Copied! Toggle word wrap Toggle overflow 呈现与以下相同:curl <%= @host.ip %>/mydir curl <%= @host.ip %>/mydirCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在实践中,这用于减少渲染模板中的行数(其中 Ruby 语法允许)。
- <% issues % >- 标记在模板渲染过程中会忽略的注释:<%# A comment %> <%# A comment %>Copy to Clipboard Copied! Toggle word wrap Toggle overflow