0
私は外部コマンドを実行し、ユーザー入力を待つ2つのフィールドをコンソールに出力します。 パスワード用のユーザー名とその他のパスワードを1つずつ入力してから手動で追加します。外部コマンドのstdinへの書き込み -
誰でもプログラムの中からこれらの入力を入力するためにstdinに書き込む方法についてのヒントを教えてください。
私のためのトリック部分は、入力を待っている2つのフィールドがあり、次々に入力する方法を理解するのに困っています。
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とループすることができます。 –