Как сбросить переменную $ PATH в Mac OS X?
Я перепутал свою переменную пути, и теперь некоторые приложения, которые я запускаю, вызывают ошибки, указывающие Command Not Found (ошибка 127) для команд, таких как дата и сон . Эти команды отлично работают при выполнении непосредственно в оболочке.
Я предполагаю, что это имеет какое-то отношение к неправильной переменной PATH и нужно знать, как ее сбросить. Я удалил файлы ~ / .bashrc , ~ / .bash_profile , /etc/bash.bashrc и ~ / .bashrc и ~ / .profile .
Какие еще файлы могут содержать мои $ PATH ? Есть ли более простой способ сбросить Путь, чем выкопать в несметные файлы, которые могут содержать мой путь?
- Как настроить SSH, поэтому мне не нужно вводить пароль?
- Какую команду мне нужно использовать для удаления файла с именем `-rf`?
- Сортировка не согласована с помощью команды Unix `sort '
- В чем причина того, что rmdir (1) и rm (1) сосуществуют?
- Что означает среднее значение загрузки для Unix / Linux?
Обратите внимание: эта проблема связана только с моим пользователем. Я сделал тестового пользователя в своей системе, и путь был прекрасен, и он вернулся к нормальной жизни.
ОБНОВЛЕНИЕ: Спасибо. Я не знаю, какой из файлов я удалил, но все работает снова. Вы, ребята, делали то, что «Эксперты» не могли. И да, Крис, ты был прав. Настройки PATH, которые я сделал, были в bash_login. Но так или иначе это работало без меня, удаляя эти настройки. Я думаю, что, возможно, это было так, что я использовал эту предварительную форму под названием «RCEnvironment», и я ввел путь с кавычками и: PATH в нем. Я не знаю, принимает ли он кавычки, и он не заменяет: $ PATH, так что, вероятно, это корень ошибки. Я забыл, что у меня даже была эта префпан!
- Как доказать, что файл не подделан?
- Попытка установить coreutils через MacPorts: «Ошибка: Port coreutils not found»
- Powershell эквивалентен команде unix `which`?
- Linux Mint VM в VirtualBox зависает с ошибкой DISKFULL
- Я не совсем понимаю разрешения файлов CHMOD, может ли кто-нибудь лучше объяснить это?
- Есть ли эквивалент Windows для команды «strings» Unix?
- Команды Unix для получения последней измененной даты и размера файла / папки (NOT LS)
- Почему «не найти», как мне кажется, это нужно?
Если у вас есть файл ~ / .MacOSX / environment.plist, проверьте его, если он предоставляет значение PATH по умолчанию.
Если это в формате XML (plists могут быть во многих форматах), вы можете редактировать с помощью любого текстового редактора. Проверьте его с помощью plutil -lint ~/.MacOSX/environment.plist
если вы отредактируете его вручную.
Или вы можете использовать команды, такие как значения по умолчанию или PlistBuddy, для внесения контролируемых изменений в файлы формата XML или двоичного формата.
Вы всегда можете установить свой собственный 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
, поэтому он всегда будет начинаться только с того, что вы его дадите).
Будет использоваться только один из файлов «входа» (будет использоваться первый, который существует и ~/.bash_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
, предоставленный этим терминалом, это путь, который вы хотите, тогда вы хороши; Если нет, введите
Export PATH = / usr / bin: / bin: / usr / sbin: / sbin
, Затем введите
Коснуться ~ / .bash_profile
, А затем введите
Открыть ~ / .bash_profile
, Вы откроете EditText open, теперь введите путь, который вы хотите в этом EditText; Например, введите
PATH = / USR / бен: / бен: / USR / SBIN: / SBIN
(Это $PATH
по умолчанию для mac, учитывая, что вы хотите сбросить $PATH
чтобы вы, вероятно, набрали его), сохраните его, а затем закройте EditText, а затем закройте Terminal.
4. Теперь вы уже изменили свой $PATH
или сбросили значение $PATH
по умолчанию для mac!
rc/profile
изменения Chris Johnson rc/profile
также отлично работают в /etc/profile
.
Я просто добавил:
export PATH="/usr/local/mariadb/bin:$PATH"
В мой файл /etc/profile
в Mac OS X 10.9 Mavericks для завершения установки MariaDB (который отлично подходит для замены MySQL).
Если вы используете ZSH – переменная пути, похоже, к счастью восстанавливается при перезагрузке сеанса терминала.