fix deploy
This commit is contained in:
@@ -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()
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user