我尝试使用以下命令在ssh上运行本地脚本:
ssh [user]@[ip_address] "sudo bash -s" -- < script.sh arg1 arg2
这是完美的工作。
现在,我想使用golang尝试上述命令。下面是我的源代码:
package main
import (
"fmt"
"log"
"os/exec"
)
func main() {
// ssh [user]@[ip_address] "sudo bash -s" -- < script.sh arg1 arg2
cmd, err := exec.Command("ssh", "[user]@[ip_address]", "sudo", "bash", "-s", "<", "script.sh", "arg1", "arg1").Output()
if err != nil {
log.Println(err.Error())
}
fmt.Printf("%s\n", cmd)
}
但不幸的是,它没有用,程序已退出。好的,实际上我已经在google中搜索了,仍然不知道这种解决方案。