fix deploy

This commit is contained in:
2026-01-13 13:24:16 +00:00
parent 363d5dbdef
commit 7344cfdfdf

View File

@@ -380,7 +380,8 @@ systemctl restart pb@%s
} }
func runSSHCommand(server, script string) error { 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() stdoutPipe, err := cmd.StdoutPipe()
if err != nil { if err != nil {
return err return err
@@ -404,7 +405,8 @@ func runSSHCommand(server, script string) error {
} }
func runSSHOutput(server, script string) (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 var out bytes.Buffer
cmd.Stdout = &out cmd.Stdout = &out
cmd.Stderr = os.Stderr cmd.Stderr = os.Stderr
@@ -555,3 +557,20 @@ func isEnvLine(line string) bool {
} }
return true 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()
}