Issue #4288 has been updated by John Sellens.
Another workaround, which I'll mention just in case anyone else bumps into this problem and this issue ticket, is to start your command line with "true &&" e.g. command => "true && cd /usr/local && make trouble" /bin/true exists, so the command should get passed to the shell. This is sometimes more comprehensible than putting the whole command into a bash -c construct. Hope that's helpful for someone! John ---------------------------------------- Bug #4288: Error if exec command starts with shell built-in like "if" https://projects.puppetlabs.com/issues/4288 Author: Alan Harder Status: Rejected Priority: Normal Assignee: Category: exec Target version: Affected Puppet version: 2.6.1 Keywords: Branch: <pre>exec { 'foo': command => 'if [ "abc" != "def" ]; then echo "this is a test"; fi', logoutput => true }</pre> With the above test case on 2.6.0rc4 (on Solaris 10 with ruby 1.8.7) I get: <pre>err: /Stage[main]//Node[...]/Exec[foo]/returns: change from notrun to 0 failed: Could not find executable 'no if in /usr/bin /usr/sbin'</pre> A command like this worked in 0.25.5.. is the behavior change intentional, or is this a bug? Side node: if I add whitespace at the front (command => ' if [ .....') then the error says *Could not find command ''* -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
