Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将shell脚本移植到ruby erb模板、建议和建议?_Ruby_Templates_Shell_Erb_Puppet - Fatal编程技术网

将shell脚本移植到ruby erb模板、建议和建议?

将shell脚本移植到ruby erb模板、建议和建议?,ruby,templates,shell,erb,puppet,Ruby,Templates,Shell,Erb,Puppet,我正在使用Puppet跨主机自动化配置管理 它可以使用erb模板跨不同主机设置各种服务(如apache、postfix等)的配置文件 到目前为止,我们使用的是充满sed、awk、grep过滤器等的shell脚本,现在我需要将这些代码移植到rubyerb模板 让我们进入编码部分: <%# domain gets its value from Facter, lets assume it to be abc.def.com x,y,z=<%= domain.split(".").join

我正在使用Puppet跨主机自动化配置管理

它可以使用erb模板跨不同主机设置各种服务(如apache、postfix等)的配置文件

到目前为止,我们使用的是充满sed、awk、grep过滤器等的shell脚本,现在我需要将这些代码移植到rubyerb模板

让我们进入编码部分:

<%# domain gets its value from Facter, lets assume it to be abc.def.com
x,y,z=<%= domain.split(".").join(",")%>

<%# x,y and z get the values abc,def,com respectively, right ?

请记住,上面的答案似乎太复杂了,我只需在erb模板中这样做:

dc=<%= domain.split('.').join(',dc=') %>
dc=

谢谢丹尼尔,我会记住这一点。就irb而言,我对保持erb代码与ruby代码的分离感到困惑,正如您提到的,“充满sed、awk、grep过滤器等的shell脚本”在这里非常流行。因此,如果你想继续这条路线,任何一个好问题都会在第一分钟内得到大约5个人的回答。就我个人而言,我喜欢Ruby,我觉得木偶看起来很棒。啊,谢谢我们。将记住这一点,以备将来使用
<%# I need something like this (yup, guessed it right, I am trying to generate slapd.conf      
dc=abc,dc=def,dc=com
  "a.b.c".split('.').collect {|thing| "dc=#{thing}" }.join(',')
dc=<%= domain.split('.').join(',dc=') %>