1
0
Fork 0
mirror of https://github.com/capistrano/capistrano synced 2023-03-27 23:21:18 -04:00

Can't use sudo as an argument in cap shell command

Leave sudo alone when it is in a position that a command argument uses.

https://github.com/capistrano/capistrano/issues/251
This commit is contained in:
Ken Stailey 2012-08-27 19:15:30 -04:00
parent 30a942c745
commit 78e5e9b072

View file

@ -171,7 +171,7 @@ HELP
# Execute a command on the given list of servers.
def exec_command(command, servers)
command = command.gsub(/\bsudo\b/, "sudo -p '#{configuration.sudo_prompt}'")
command = command.gsub(/^(\s*)sudo\b|([|;&])\s*sudo\b/, "\\0 -p '#{configuration.sudo_prompt}'")
processor = configuration.sudo_behavior_callback(Configuration.default_io_proc)
sessions = servers.map { |server| configuration.sessions[server] }
options = configuration.add_default_command_options({})