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.

Reply via email to