Как сбросить переменную $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 - переменная пути, к счастью, восстанавливается при перезагрузке терминальной сессии.
Крис Джонсон rc/profile
показанные правки также отлично работают в /etc/profile
,
Я только что добавил:
export PATH="/usr/local/mariadb/bin:$PATH"
к моему /etc/profile
файл в Mac OS X 10.9 Mavericks для завершения установки MariaDB (которая отлично подходит для замены MySQL).