On 07/30/2010 12:18 AM, Daniel Pittman wrote:
James Turnbull<ja...@puppetlabs.com>  writes:
Richard Crowley wrote:
On Thu, Jul 29, 2010 at 3:23 PM, Greg Graf<greg.g...@rackspace.com>  wrote:
[...]

I saw the same thing happen with a few for-loops and had to wrap them
up in /bin/sh -c '...' for 2.6.  Now that I look for it, I can't find
anything about this behavior change in the release notes for 2.6.  Was
it coincidental that it ever worked?
See:

http://projects.puppetlabs.com/issues/4288
http://projects.puppetlabs.com/issues/4299

For some history and comments on this.  We'd welcome some input into
what you think should be safe and expected behaviour here.
If this is a "voting" matter, let me put in a vote for passing a simple string
to the shell, and passing an array direct to exec, which is consistent with
the use of 'system' style commands in a whole bunch of sysadmin scripting
languages.

Eg, this:

    exec { "foo": command =>  ['/bin/ls', '|' 'foo'] }

will pass '|' 'foo' to the ls command, compared to:

    exec { "foo": command =>  "/bin/ls | foo" }

...which passes it to the default system shell.

         Daniel
That seems like the implementation would be tricky and error-prone, compared to having people add sh/bash/ksh -c to the beginning of the command in the exec. I mean, is that really such a big deal?

--
Joe McDonagh
AIM: YoosingYoonickz
IRC: joe-mac on freenode
"When the going gets weird, the weird turn pro."

--
You received this message because you are subscribed to the Google Groups "Puppet 
Users" group.
To post to this group, send email to puppet-us...@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