Linux: установка переменной среды с частями другой переменной среды - PullRequest
1 голос
/ 04 марта 2012

У меня есть переменная окружения $ GOPATH, установленная в ~ / .profile:

export GOPATH=$HOME/gopkgs:$HOME/code/go

Теперь я хочу использовать $ GOPATH для добавления подкаталога ./bin двух папок в $ PATH, предпочтительно в ~ / .profile.

Я пытаюсь:

export PATH=$PATH:$HOME/go/bin:${GOPATH//://bin:}/bin

Это только мешает мне войти в X сессию. Дистрибутив - Linux Mint 11 x64.

Чего мне не хватает?

1 Ответ

4 голосов
/ 04 марта 2012

На моей машине это работает и

echo PATH=$PATH:$HOME/go/bin:${GOPATH//://bin:}/bin

заменяет на:

PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/home/l1zard/go/bin:/home/l1zard/gopkgs/bin:/home/l1zard/code/go/bin

Поэтому я бы предположил, что у вас есть ошибка в вашем .profile.

однако используя менее сложный

export PATH="$PATH:$HOME/gopkgs/bin:$HOME/code/go/bin"

не использует необычную подстановку переменных, но она должна работать. Также вам не нужно выходить из системы и снова включаться, чтобы все заработало. вам просто нужно получить .profile, набрав:

source ~/.profile

Таким образом, вы также можете убедиться, что .profile не содержит ошибок, которые могут привести к невозможности входа в X-сеанс.

...