From 0d2d6f3f005ee99658ff86b79749f0ba7949beab Mon Sep 17 00:00:00 2001 From: Matt Robinson Date: Tue, 15 Mar 2011 11:52:10 -0700 Subject: (#4884) Add an shell provider for execs This makes it possible to use shell builtins when the exec is inline bash commands. Paired-with: Max Martin --- lib/puppet/provider/exec/shell.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 lib/puppet/provider/exec/shell.rb (limited to 'lib/puppet/provider/exec/shell.rb') diff --git a/lib/puppet/provider/exec/shell.rb b/lib/puppet/provider/exec/shell.rb new file mode 100644 index 000000000..98f309e8f --- /dev/null +++ b/lib/puppet/provider/exec/shell.rb @@ -0,0 +1,17 @@ +Puppet::Type.type(:exec).provide :shell, :parent => :posix do + include Puppet::Util::Execution + + confine :feature => :posix + + desc "Execute external binaries directly, on POSIX systems. +passing through a shell so that shell built ins are available." + + def run(command, check = false) + command = %Q{/bin/sh -c "#{command.gsub(/"/,'\"')}"} + super(command, check) + end + + def validatecmd(command) + true + end +end -- cgit