Я не могу добавить PATH в файл PATH на Mac

Вот мои файлы.bash_profile и.profile:

BASH ПРОФИЛЬ

# Set architecture flags
export ARCHFLAGS="-arch x86_64"

# Setting PATH for Python 3.4
# The orginal version is saved in .bash_profile.pysave
export PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin:${PATH}"

export PATH="$HOME/Applications/Postgres.app/Contents/Versions/9.3/bin:$PATH"

#Virtualenvwrapper
export WORKON_HOME=$HOME/Devaus/Envs
export PROJECT_HOME=$HOME/Devaus/Envs
source /usr/local/bin/virtualenvwrapper.sh

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session         *as a function*

ПРОФИЛЬ

export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

echo $PATH

/Users/User/Devaus/Envs/wsd/bin:/Users/User/.rvm/gems/ruby-2.1.1/bin:/Users/User/.rvm/gems/ruby-        2.1.1@global/bin:/Users/User/.rvm/rubies/ruby-    2.1.1/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/User/.rvm/bin

Вопрос почему /Applications/Postgres.app/Contents/Versions/9.3/bin не будет добавлен в PATH? Моя цель - использовать psqlкоманды etc, указанные здесь http://postgresapp.com/documentation/cli-tools.html

1 ответ

Bash не читает автоматически .profile если у тебя есть .bash_profile, Обычно это настраивается с .bash_profile явно загружается .profile но у тебя, похоже, этого нет. Может быть, добавить это в начале вашего .bash_profile:

test -e ~/.profile && . ~/.profile

Или альтернативно положить эти вещи в свой .bash_profile вместо; но затем, если вам нужны некоторые или все эти настройки с /bin/sh ты не можешь сделать это. Как правило, лучше всего иметь в своем коде только Bash-only код .bash_profile и держи свой .profile портативный к классической оболочке Bourne (которая не позволяет export перед присвоением переменной; так что у вас есть синтаксическая ошибка, где

export variable=value

должно быть

variable=value
export variable

вместо переносимости.)

Кстати, вам нужно только export один раз (иPATH должно быть уже экспортировано к тому времени, когда Bash запустит ваши личные файлы входа в систему).

Другие вопросы по тегам