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,然後寫入子程序。 –