Thanks for your complete answer! I used the inline_template method which is good enough for me
On Friday, December 14, 2012 3:17:24 PM UTC+1, jcbollinger wrote: > > > > On Thursday, December 13, 2012 9:48:44 AM UTC-6, Sven vd wrote: >> >> This works when using the variable inside a template. >> >> But I want to use the variable in an Exec command. How to remove the >> newline here? .chomp does not seem to work here. >> > > > No, it wouldn't. The 'chomp' is a method of Ruby's String class. It > works in the embedded Ruby context in a template, but it is not part of the > Puppet DSL, so it does not work for ordinary variable interpolation. > > The underlying problem is that the generate() command you are using is > outputting a trailing newline that gets incorporated into the resulting > value. That's not too surprising, as it is good form for programs (such as > whatever external command you are running) to terminate their output with a > newline. > > You have two main options: > > 1. Modify the command in some way or filter its output to remove the > newline before it reaches Puppet > 2. Remove the newline inside Puppet > > I leave you to figure out (1) on your own. You have multiple approaches > available for (2). The easiest built into Puppet is to use a template, > probably via the inline_template() function: > > $result_line = generate('my command') > $result = inline_template('<%= @result_line.chomp %>') > > That's a little ugly, though. If you have or are willing to install > Puppetlabs' "stdlib" add-on module, then it provides a chomp() function in > Puppet. With that, you could replace the second line above with: > > $result = chomp($result_line) > > Note well that Puppet variables can only be assigned values once each. > That's why my examples use two variables ($result_line and $result). > > > John > > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/bsVEopGUj2QJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.