登录
首页 >  Golang >  Go问答

在Go语言中,exec.Command不适合执行多个bash命令

来源:stackoverflow

时间:2024-03-02 11:33:18 277浏览 收藏

珍惜时间,勤奋学习!今天给大家带来《在Go语言中,exec.Command不适合执行多个bash命令》,正文内容主要涉及到等等,如果你正在学习Golang,或者是对Golang有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!

问题内容

我需要获取一个文件并使用 golang 从该文件中获取变量。我正在做如下所示:

cmd1 := exec.Command("bash", "-c", "source fileName|echo $INFO")
out, err := cmd1.Output()
if err != nil {
    log.Fatalf("cmd.Run() failed with %s\n", err)
}
fmt.Printf("combined out:\n%s\n", string(out))

如果我在 macos 上的终端中执行此命令,我会看到我需要的信息。但是如果我在 go 中执行这个命令,我在输出中什么也得不到。 我是新来的。非常感谢任何对此的帮助。


正确答案


我需要执行以下操作,而不是通过管道传输命令:

cmd1 := exec.Command("bash", "-c", "source fileName; echo $INFO")

今天关于《在Go语言中,exec.Command不适合执行多个bash命令》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>