我有一个应该调用 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) }}我这样调用它:runCommand("ruby", "-e", "require 'foo'")它适用于大多数情况,除非gets子进程中有一个或任何类似的操作需要暂停输入。我试过设置cmd.Stdin = os.Stdin,但它不等待输入。我究竟做错了什么?
2 回答
- 2 回答
- 0 关注
- 427 浏览
添加回答
举报
0/150
提交
取消