如何让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)
}
答案 0 :(得分: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)
}
答案 1 :(得分:0)
尝试一下-
CommandToRun = os.ExpandEnv(os.Getenv("CommandToRun"))
它将读取CommandToRun
并在其中包含任何环境变量的情况下进行扩展。