猿问

exec.Command 不适用于多个 bash 命令的 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 中执行这个命令,我在输出中什么也得不到。我是新来的。非常感谢您对此的任何帮助。


宝慕林4294392
浏览 123回答 1
1回答

白衣非少年

我不需要管道命令,而是需要执行以下操作:cmd1 := exec.Command("bash", "-c", "source fileName; echo $INFO")
随时随地看视频慕课网APP

相关分类

Go
我要回答