lib/capistrano_extensions/invocation.rb in joekhoobyar-capistrano-extensions-0.0.1 vs lib/capistrano_extensions/invocation.rb in joekhoobyar-capistrano-extensions-0.0.2

- old
+ new

@@ -13,10 +13,12 @@ end def sudo_su_to(*args, &block) options = Hash===args.last ? args.pop.dup : {} options[:shell] = false - args[0] = "echo \"#{args[0].gsub('"', '\\"')}\" | #{sudo} su - #{fetch(:runner, nil)}" + cmd = args[0].gsub(/[$\\`"]/) { |m| "\\#{m}" } + args[0] = "echo \"#{cmd}\" | #{sudo} su - #{fetch(:runner, nil)}" + #args[0] = "echo \"#{.gsub('"', '\\"')}\" | #{sudo} su - #{fetch(:runner, nil)}" run *args.push(options), &block end end Capistrano::Configuration.send :include, Invocation end