你可以使用Go语言的os/exec包来评估环境变量。

huangapple go评论92阅读模式
英文:

How do I evaluate a environment variable using Go's os/exec

问题

你好!以下是你要翻译的内容:

如何让Go语言评估$PATH变量。目前它只是打印"$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)
}

请注意,这段代码只是执行了一个命令,并将其输出打印出来,并没有对$PATH变量进行评估。如果你想要评估$PATH变量,你可以使用os包中的os.Getenv函数来获取环境变量的值。例如,你可以使用以下代码来获取$PATH变量的值:

package main

import (
        "fmt"
        "log"
        "os"
)

func main() {
        path := os.Getenv("PATH")
        fmt.Println(path)
}

希望对你有帮助!如果你有任何其他问题,请随时提问。

英文:

How do I get Go to evaluate the $PATH variable. I currently just prints
"$PATH"

I have the following code

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)
}

答案1

得分: 5

你需要使用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)
}

请注意,这是一个Go语言的代码示例,它使用os.Getenv("PATH")获取环境变量PATH的值,并将其传递给echo命令进行输出。

英文:

You need to use 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

得分: 1

尝试这样做 -

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

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

示例演示

英文:

Try this -

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

This will read CommandToRun and expand if there are any env vars in it.

Play example

huangapple
  • 本文由 发表于 2013年11月22日 02:20:30
  • 转载请务必保留本文链接:https://go.coder-hub.com/20128923.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定