2013-11-21 63 views
2

如何獲取Go以評估$ PATH變量。我現在只打印 「$ PATH」如何使用Go的os/exec評估環境變量

我有以下代碼

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

如果你想要得到的路徑,['os.Getenv( 「路徑」)'](http://golang.org/pkg/os/#Getenv)。如果你想在一個命令上執行shell替換,可以將整個命令傳遞給一個shell(並確保你沒有傳遞不可信的用戶輸入)。 – twotwotwo

回答

3

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