fix deploy
This commit is contained in:
@@ -380,7 +380,8 @@ systemctl restart pb@%s
|
||||
}
|
||||
|
||||
func runSSHCommand(server, script string) error {
|
||||
cmd := exec.Command("ssh", append(sshArgs(server), "bash", "--noprofile", "--norc", "-c", script)...)
|
||||
remoteCmd := fmt.Sprintf("bash --noprofile --norc -c %s", shellQuote(script))
|
||||
cmd := exec.Command("ssh", append(sshArgs(server), remoteCmd)...)
|
||||
stdoutPipe, err := cmd.StdoutPipe()
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -404,7 +405,8 @@ func runSSHCommand(server, script string) error {
|
||||
}
|
||||
|
||||
func runSSHOutput(server, script string) (string, error) {
|
||||
cmd := exec.Command("ssh", append(sshArgs(server), "bash", "--noprofile", "--norc", "-c", script)...)
|
||||
remoteCmd := fmt.Sprintf("bash --noprofile --norc -c %s", shellQuote(script))
|
||||
cmd := exec.Command("ssh", append(sshArgs(server), remoteCmd)...)
|
||||
var out bytes.Buffer
|
||||
cmd.Stdout = &out
|
||||
cmd.Stderr = os.Stderr
|
||||
@@ -555,3 +557,20 @@ func isEnvLine(line string) bool {
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func shellQuote(value string) string {
|
||||
if value == "" {
|
||||
return "''"
|
||||
}
|
||||
var builder strings.Builder
|
||||
builder.WriteByte('\'')
|
||||
for _, r := range value {
|
||||
if r == '\'' {
|
||||
builder.WriteString("'\"'\"'")
|
||||
continue
|
||||
}
|
||||
builder.WriteRune(r)
|
||||
}
|
||||
builder.WriteByte('\'')
|
||||
return builder.String()
|
||||
}
|
||||
Reference in New Issue
Block a user