2015-03-31 43 views
2

PS1是bash提示符的環境變量。我可以echo $PS1如何通過golang獲取環境變量PS1?

我嘗試使用os.Getenv得到PS1得到這個,但沒有返回值:

package main 

import (
    "fmt" 
    "os" 
) 

func main() { 
    fmt.Println(os.Getenv("PS1")) 
} 

爲什麼會出現這種情況,我應該怎麼解決這個問題? 謝謝。

+2

是實際設置的變量嗎?沒有列出'os.Environ'顯示你一個'PS1 = value'對? – 2015-03-31 08:39:48

+0

我可以通過'echo $ PS1'得到它 – waitingkuo 2015-03-31 09:06:29

+0

你是否開始使用同一個用戶的過程(我的意思是運行那個程序)? – 2015-03-31 09:09:08

回答

6

PS1可能是不出口,這意味着它不會在bash的子流程顯示

嘗試

export PS1 

你運行你的應用程序

你也可以做

PS1=$PS1 app 

在子流程中具體設置

+0

這是sh/bash特有的。 csh系列的shell(包括zsh?)對於前者和可移植,shell不可知的語法有不同的語法,後面的方法是'env VAR = val命令...' – 2015-03-31 15:05:26