【问题标题】:How do I evaluate a environment variable using Go's os/exec如何使用 Go 的 os/exec 评估环境变量
【发布时间】:2013-11-21 18:20:30
【问题描述】:

如何让 Go 评估 $PATH 变量。我目前只是打印 “$路径”

我有以下代码

package main

import (
        "fmt"
        "log"
        "os/exec"
)

func main() {
        out, err := exec.Command("echo","$PATH").Output()
        if err != nil {
                log.Fatal(err)
        }
        fmt.Printf("%s\n",out)
}

【问题讨论】:

标签: go


【解决方案1】:

你需要使用os.Getenv("PATH")

package main

import (
  "fmt"
  "log"
  "os/exec"
  "os"
)

func main() {
  out, err := exec.Command("echo",os.Getenv("PATH")).Output()
  if err != nil {
    log.Fatal(err)
  }
  fmt.Printf("%s\n",out)
}

【讨论】:

    【解决方案2】:

    试试这个 -

    CommandToRun = os.ExpandEnv(os.Getenv("CommandToRun"))
    

    这将读取 CommandToRun 并在其中有任何环境变量时展开。

    Play example

    【讨论】:

      猜你喜欢
      • 2011-07-04
      • 2016-08-27
      • 2020-07-12
      • 2020-11-17
      • 2010-10-14
      • 2011-10-15
      • 2021-08-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多