为了账号安全,请及时绑定邮箱和手机立即绑定

golang exec.Command 读取标准输入

golang exec.Command 读取标准输入

Go
慕桂英3389331 2021-10-04 17:27:12
我有一个应该调用 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
提交
取消
意见反馈 帮助中心 APP下载
官方微信