core: execute SSH commands in context of login shell [GH-2636]
This commit is contained in:
parent
4bf1808fde
commit
a55a53e6a4
|
@ -10,6 +10,8 @@ IMPROVEMENTS:
|
|||
BUG FIXES:
|
||||
|
||||
- core: box removal of a V1 box works
|
||||
- core: `vagrant ssh -c` commands are now executed in the context of
|
||||
a login shell (regression). [GH-2636]
|
||||
- guests/debian: fix `use_dhcp_assigned_default_route` to work properly.
|
||||
[GH-2648]
|
||||
- guests/debian,ubuntu: fix change\_host\_name for FQDNs with trailing
|
||||
|
|
|
@ -32,8 +32,14 @@ module Vagrant
|
|||
end
|
||||
end
|
||||
|
||||
# Execute!
|
||||
# Get the command and wrap it in a login shell
|
||||
command = env[:ssh_run_command]
|
||||
command = command.gsub(/'/) do |m|
|
||||
"#{m}\\#{m}#{m}"
|
||||
end
|
||||
command = "#{env[:machine].config.ssh.shell} -c '#{command}'"
|
||||
|
||||
# Execute!
|
||||
opts = env[:ssh_opts] || {}
|
||||
opts[:extra_args] = ["-t", command]
|
||||
opts[:subprocess] = true
|
||||
|
|
Loading…
Reference in New Issue