Pty is a Go package for using unix pseudo-terminals.
go get github.com/kr/pty
package main
import (
"github.com/kr/pty""io""os""os/exec"
)
funcmain() {
c:=exec.Command("grep", "--color=auto", "bar")
f, err:=pty.Start(c)
iferr!=nil {
panic(err)
}
gofunc() {
f.Write([]byte("foo\n"))
f.Write([]byte("bar\n"))
f.Write([]byte("baz\n"))
f.Write([]byte{4}) // EOT
}()
io.Copy(os.Stdout, f)
}