> 首先下面代码是有问题,大佬看一下代码,这个输入这里应该有问题,或者这个库不支持这样的持续交互吗? package main import ( "fmt" "io" "os/exec" "time" ) func main() { // 进行字符串的替换,把小写字母替换成大写字母 cmd := exec.Command("tr", "a-z", "A-Z") var ( err error stdout io.ReadCloser stdin io.WriteCloser ) stdout, err = cmd.StdoutPipe() if err != nil { panic(err) } stdin, err = cmd.StdinPipe() if err != nil { panic(err) } if err = cmd.Start(); err != nil { panic(err) } // 这里协程给tr命令输入标准输入的 小写 abc 字符串 go func() { for { time.Sleep(time.Second) stdin.Write([]byte("abc")) } }() // 然后这里从标准输出读到上面输入后tr命令转换后的大写字符串 ABC,但这里没有读到,不知道为什么 for { data := make([]byte, 512) n, err := stdout.Read(data) fmt.Println(string(data[:n]), err) } }