bash - 我如何在golang中运行shell命令

标签 bash shell go

我有一个shell命令

set -a  source /etc/environment; set +a

我想运行此命令来刷新我的环境文件

我试图做的代码
cmd, err := exec.Command("bash", "set -a  source /etc/environment; set +a").Output()
    fmt.Println("cmd=================>", cmd)

    if err != nil {
        fmt.Println(err)
    }

它给了我退出状态127

最佳答案

尝试这个

cmd, err := exec.Command("bash","-c", "set -a  source /etc/environment; set +a").Output()
    fmt.Println("cmd=================>", cmd)

    if err != nil {
        fmt.Println(err)
    }

关于bash - 我如何在golang中运行shell命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61643374/

相关文章:

linux - Bash:为什么对这个字符串进行 egrepping 会成功?

mongodb - 无法使用带有 golang 的 mgo 检索 "_id"值

linux - 使用不同文件夹中的文件将某些文件信息输出到文本文件

linux - 如何拖尾 w 命令

linux - 如何在从文件读取的每个匹配项上分割一行

go - 有没有一种方法可以在 Go 中生成类似于 Python 的 `secrets` 模块的加密强随机数?

go - 无法将 nil 转换为类型字符串

regex - sed 在同一行匹配模式后插入一个字符串

arrays - 使用 grep 检查数组中是否存在多个 var

linux - 通过 FIFO QUEUE 执行脚本