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 {
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()
}