First, put the whole line in single quotes in order to prevent Puppet from 
trying to resolve all the dollar signs as variables. Then simply escape all 
quotes within your string. I didn't test it, but this should work:

line =>  'PROMPT_COMMAND=\'history -a >(tee -a ~/.bash_history | logger -t 
\"USER: $USER[$$] SSH: $SSH_CONNECTION $PWD\")\'' ,

As an alternative you might want to have a look at Puppet's Augeas.

Bernd

From: puppet-users@googlegroups.com [mailto:puppet-users@googlegroups.com] On 
Behalf Of Javier Arduini
Sent: Dienstag, 11. Dezember 2012 13:16
To: puppet-users@googlegroups.com
Subject: [Puppet Users] exec command

Hi all, im trying to make a module to add a line at the end of the /etc/profile 
file to redirect all the loggins to a remote server. It´s something like this:

class syslog {

define append_if_no_such_line ($file, $line) {
             exec { "Line1" :
             command => "/bin/echo '$line' >> '$file'",
             unless => "/bin/grep -Fx '$line' '$file'",
             alias => "Line1",
             }
}

append_if_no_such_line {
         "modify.profile.redhat" :
          file => "/etc/profile",
          line =>  " PROMPT_COMMAND='history -a >(tee -a ~/.bash_history | 
logger -t "USER: $USER[$$] SSH: $SSH_CONNECTION $PWD")'  ",
         }

}

The problem is that the line i want to add have a lot of " " and ' ' and puppet 
cut the line and give me an error of execution.
Anyone know how to pass this line: PROMPT_COMMAND='history -a >(tee -a 
~/.bash_history | logger -t "USER: $USER[$$] SSH: $SSH_CONNECTION $PWD")'  as a 
single line in puppet?
Thanks a lot, sorry about my english
Javier Arduini
--
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/-/q6R6cMcysRIJ.
To post to this group, send email to 
puppet-users@googlegroups.com<mailto:puppet-users@googlegroups.com>.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com<mailto:puppet-users+unsubscr...@googlegroups.com>.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
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