无法从Golang运行Shellscript

时间:2017-04-28 10:57:32

标签: go sh

我必须从golang运行可安装的shell脚本。我必须在运行脚本时提供所有yes选项。

我可以从命令

运行它
yes | install.sh

我如何在golang中提供相同的内容。

我尝试了以下内容,

c := exec.Command("/bin/bash", 'path to install.sh', '| yes');
err = c.Run()

c := exec.Command("/bin/bash", 'yes | ', 'path to install.sh')
err = c.Run()

但两者都不起作用。我需要帮助。

提前致谢

1 个答案:

答案 0 :(得分:0)

我尝试使用以下代码,在我的情况下它可以正常工作。

cmd1 := exec.Command("/bin/bash","-c", "yes")
cmd2 := exec.Command("path to install.sh", "2>&1 >/dev/null")
cmd2.Stdin, _ = cmd1.StdoutPipe()
cmd2.Stdout = os.Stdout
_ = cmd2.Start()
_ = cmd1.Run()
_ = cmd2.Wait()