From fb5e60c8fe873283c458b62592ba8e0f3530a1d4 Mon Sep 17 00:00:00 2001 From: Zexi Li Date: Sat, 16 Feb 2019 17:01:02 +0800 Subject: [PATCH] util/ssh: add RawRun to get cmd output directly. --- pkg/util/ssh/ssh.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pkg/util/ssh/ssh.go b/pkg/util/ssh/ssh.go index a21cfedf1a..fa280ff439 100644 --- a/pkg/util/ssh/ssh.go +++ b/pkg/util/ssh/ssh.go @@ -94,7 +94,15 @@ func (s *Client) GetConfig() ClientConfig { return s.config } +func (s *Client) RawRun(cmds ...string) ([]string, error) { + return s.run(false, cmds...) +} + func (s *Client) Run(cmds ...string) ([]string, error) { + return s.run(true, cmds...) +} + +func (s *Client) run(parseOutput bool, cmds ...string) ([]string, error) { ret := []string{} for _, cmd := range cmds { session, err := s.client.NewSession() @@ -113,7 +121,11 @@ func (s *Client) Run(cmds ...string) ([]string, error) { log.Errorf("%v", err) return nil, err } - ret = append(ret, ParseOutput(stdOut.Bytes())...) + if parseOutput { + ret = append(ret, ParseOutput(stdOut.Bytes())...) + } else { + ret = append(ret, stdOut.String()) + } } return ret, nil