Как сбросить переменную $PATH в Mac OS X?

Я испортил свою переменную пути, и теперь некоторые приложения, которые я запускаю, выдают ошибки, в которых говорится, что команда не найдена (ошибка 127) для таких команд, как date и sleep. Эти команды прекрасно работают, когда выполняются непосредственно в оболочке.

Я предполагаю, что это как-то связано с искаженной переменной $PATH, и мне нужно знать, как ее сбросить. Я удалил файлы ~/.bashrc, ~ /.bash_profile, /etc/bash.bashrc и ~/.bashrc и ~ /.profile.

Какие другие файлы могут содержать мой $PATH? Есть ли какой-нибудь более простой способ сбросить путь, чем копаться в бесчисленных файлах, которые могут содержать мой путь?

Обратите внимание, что эта проблема только с моим пользователем. Я сделал тестового пользователя в моей системе, и путь был в порядке, вернуться к нормальному.

ОБНОВЛЕНИЕ: Спасибо. Я не знаю, какой из удаленных файлов сделал это, но все снова работает. Вы, ребята, сделали то, что "Эксперты" не смогли. И да, Крис, ты был прав. Настройки PATH, которые я сделал, были в bash_login. Но так или иначе это работало без того, чтобы я удалил те настройки. Я думаю, это могло быть потому, что я использовал эту предварительную панель под названием "RCEnvironment", и я ввел путь с кавычками и:PATH в нем. Я не знаю, принимает ли он кавычки, и он не заменяет:$PATH, так что, вероятно, это корень ошибки. Я забыл, что у меня даже был этот preppane!

4 ответа

Решение

Если у вас есть файл ~/.MacOSX/environment.plist, проверьте его, чтобы узнать, предоставляет ли он значение PATH по умолчанию.

Если это в формате XML (списки могут быть во многих форматах), вы можете редактировать с любым текстовым редактором. Проверьте это с plutil -lint ~/.MacOSX/environment.plist если вы редактируете это вручную.

Или вы можете использовать такие команды, как значения по умолчанию или PlistBuddy, чтобы делать контролируемые изменения в XML-файлах или файлах двоичного формата plist.


Вы всегда можете установить свой собственный PATH в любом из файлов инициализации вашей оболочки.

Поместите что-то вроде следующего в ваши файлы запуска вашей оболочки (.bashrc, или же .bash_profile/.bash_login/.profile):

PATH=/usr/bin:/bin:/usr/sbin:/sbin
export PATH

# add custom, local installations to PATH
PATH=/usr/local/bin:/usr/local/sbin:"$PATH"

# add MacPorts to PATH
PATH=/opt/local/bin:/opt/local/sbin:"$PATH"

Это переопределит любой установленный по умолчанию PATH при запуске оболочки (первый PATH= не использует $PATHтак что он всегда будет начинаться только с того, что вы ему дадите).

Будет использоваться только один из файлов 'login' (первый, который существует и доступен для чтения). ~/.bash_profile, ~/.bash_login, а также ~/.profile будет использоваться). .profile для обратной совместимости с другими оболочками - если вы используете его, убедитесь, что он не содержит синтаксиса, характерного для bash. Если вы идете с .bash_login или же .bash_profile (они функционально эквивалентны, за исключением имен), затем используйте строку вроде [[ -e ~/.bashrc -a -r ~/.bashrc ]] && source ~/.bashrc ]] ближе к вершине, так что оболочки входа также получат настройки, сделанные в вашем .bashrc,

Если вы хотите, чтобы все экземпляры bash имели одинаковый PATH, используйте .bashrc, Если вы часто обнаруживаете, что в интерактивном режиме изменяете PATH отдельной оболочки из командной строки и хотите использовать этот измененный PATH в подоболочках (в случаях, которые, вероятно, не очень распространены), вы должны вместо этого поместить операторы в один из файлов 'login', Выберите только один из файлов входа и используйте его.

1. Откройте свой терминал

2.Вы могли бы сначала просто проверить свой текущий $PATH, тип

echo $PATH

до терминала

3. Если $PATH тот терминал вернул тот путь, который вы хотите, тогда вы хороши; если нет, введите

экспорт PATH=/usr/bin:/bin:/usr/sbin:/sbin

затем введите

коснитесь ~ /.bash_profile

, а затем введите

открыть ~ /.bash_profile

, затем вы найдете открываемый EditText, теперь введите желаемый путь в этом EditText; Например, введите

PATH = / USR / бен: / бен: / USR / SBIN: / SBIN

(который используется по умолчанию $PATH для Mac, учитывая, что вы хотите сбросить $PATH так что вы, вероятно, должны набрать это), сохранить его, а затем закрыть EditText, а затем закрыть терминал.

4. Теперь вы уже изменили свой $PATH или сбросить по умолчанию для Mac $PATH!

Если вы используете ZSH - переменная пути, к счастью, восстанавливается при перезагрузке терминальной сессии.

https://github.com/robbyrussell/oh-my-zsh

https://www.iterm2.com/

Крис Джонсон rc/profile показанные правки также отлично работают в /etc/profile,

Я только что добавил:

export PATH="/usr/local/mariadb/bin:$PATH"

к моему /etc/profile файл в Mac OS X 10.9 Mavericks для завершения установки MariaDB (которая отлично подходит для замены MySQL).

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