0
我有以下代码执行外部命令并输出到控制台两个等待用户输入的字段。 一个用于用户名和其他密码,然后我手动添加它们。去 - 写入外部命令的stdin
任何人都可以给我一个关于如何写入stdin以便从程序内部输入这些输入的提示吗?
对我来说诀窍是有两个不同的领域等待输入,我很难找出如何填充一个接一个。
login := exec.Command(cmd, "login")
login.Stdout = os.Stdout
login.Stdin = os.Stdin
login.Stderr = os.Stderr
err := login.Run()
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
SOLUTION:
login := exec.Command(cmd, "login)
var b bytes.Buffer
b.Write([]byte(username + "\n" + pwd + "\n"))
login.Stdout = os.Stdout
login.Stdin = &b
login.Stderr = os.Stderr
你可以用你的stdin和你的stdin循环读取你的stdin,然后写入子程序。 –