2

У меня проблемы с настройкой PATH на моем MacBook Pro.

Я перешел по этой ссылке, чтобы изменить мою переменную пути.

Каждый раз, когда я запускаю новый терминал, я получаю ПУТЬ, указывающую на

/Applications/eclipse/apache-maven-3.0.5/bin

Даже если .bash_profile выглядит следующим образом

EXPORT PATH=/usr/bin:$PATH
export PATH=/usr/local/bin:$PATH
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

И /etc/paths имеет следующий контент

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
/Applications/eclipse/apache-maven-3.0.5/bin

Я тоже попытался посмотреть на эту ссылку, но она тоже не сильно помогла

3 ответа3

3

Кажется, твоя оболочка - это ш. OS //bin /sh - это версия bash, основным отличием которой является то, что режим POSIX включен по умолчанию. Он также не читает ~ /.bash_profile для оболочек входа в систему. От man bash:

Если bash вызывается с именем sh, он пытается максимально близко имитировать поведение при запуске исторических версий sh, при этом также соответствует стандарту POSIX. При вызове в качестве интерактивной оболочки входа в систему или неинтерактивной оболочки с параметром --login сначала он пытается прочитать и выполнить команды из /etc /profile и ~ /.profile в указанном порядке.

Таким образом, вы можете использовать ~/.profile вместо ~/.bash_profile, но вы, вероятно, просто захотите изменить оболочку на обычный bash:

  • Установите Startup> "Shells open with" на "Default login shell", если он установлен на что-то другое
  • Запустите chsh -s /bin/bash если была изменена оболочка входа по умолчанию

Примечания о ветке комментариев в ответе Дэвида X:

  • Символьная ссылка /bin /bash на /bin /sh не поможет. Двоичные файлы /bin /bash и /bin /sh практически идентичны, но поведение зависит от имени, с которым был вызван bash.
  • Терминал и iTerm по умолчанию открывают новые оболочки как оболочки входа в систему, поэтому, например, bash читает ~ /.bash_profile, но не ~ /.bashrc.
  • Обычные учетные записи пользователей не включены в /etc /passwd на OS X.
1

Я вполне уверен, что PATH должен быть установлен в .bashrc вместо. * Профиля.
Попробуйте вставить это в ваш файл .bash_profile (заменив строки export PATH ):

if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
fi

и это в вашем .bashrc:

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
0

просто есть одна запись там ..... третий над записью все ...

export PATH=.:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:$PATH

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .