我有一個應(yīng)該調(diào)用 ruby 腳本的 go 程序。我有一個runCommand功能:func runCommand(cmdName string, arg ...string) { cmd := exec.Command(cmdName, arg...) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr cmd.Stdin = os.Stdin err = cmd.Run() if err != nil { fmt.Printf("Failed to start Ruby. %s\n", err.Error()) os.Exit(1) }}我這樣調(diào)用它:runCommand("ruby", "-e", "require 'foo'")它適用于大多數(shù)情況,除非gets子進程中有一個或任何類似的操作需要暫停輸入。我試過設(shè)置cmd.Stdin = os.Stdin,但它不等待輸入。我究竟做錯了什么?
golang exec.Command 讀取標準輸入
慕桂英3389331
2021-10-04 17:27:12