2015-03-31 8 views
2

PS1 - это переменная среды для подсказки bash. Я могу получить это от echo $PS1Как получить переменную окружения PS1 от golang?

Я пытаюсь использовать os.Getenv, чтобы получить PS1, но ничего не возвращает:

package main 

import (
    "fmt" 
    "os" 
) 

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

Почему это происходит и как я должен это исправить? Спасибо.

+2

- переменная, фактически установленная? doesn перечисление 'os.Environ' показывает вам пару« PS1 = значение »? –

+0

Я могу получить его с помощью 'echo $ PS1' – waitingkuo

+0

, вы начинаете процесс (я имею в виду запуск этой программы) с тем же пользователем? –

ответ

6

PS1, вероятно, не экспортируется, то есть он не будет отображаться в суб-процессов Баш

попробовать

export PS1 

, прежде чем запустить приложение

вы также можете сделать

PS1=$PS1 app 

, чтобы установить его в подпроцессе

+0

Это специфичное значение sh/bash. Семейство оболочек csh (в том числе zsh?) Имеет другой синтаксис для первого и переносимый, агностик, способ выполнения более позднего - это команда env VAR = val ... ' –

Смежные вопросы