diff --git a/packer/communicator.go b/packer/communicator.go index ad6a9a5bd..7f01f76cb 100644 --- a/packer/communicator.go +++ b/packer/communicator.go @@ -5,6 +5,7 @@ import ( "os" "strings" "sync" + "unicode" "github.com/mitchellh/iochan" ) @@ -154,11 +155,11 @@ OutputLoop: // Make sure we finish off stdout/stderr because we may have gotten // a message from the exit channel before finishing these first. for output := range stdoutCh { - ui.Message(strings.TrimSpace(output)) + ui.Message(r.cleanOutputLine(output)) } for output := range stderrCh { - ui.Message(strings.TrimSpace(output)) + ui.Message(r.cleanOutputLine(output)) } return nil @@ -196,7 +197,7 @@ func (r *RemoteCmd) Wait() { // UI output when we're reading from a remote command. func (r *RemoteCmd) cleanOutputLine(line string) string { // Trim surrounding whitespace - line = strings.TrimSpace(line) + line = strings.TrimRightFunc(line, unicode.IsSpace) // Trim up to the first carriage return, since that text would be // lost anyways.