Как сбросить $ PATH?

13

Я пытался добавить что-то в $ PATH, и все пошло не так. Теперь я не могу запустить какие-либо команды, такие как ls. Я посмотрел на этот ответ и использовал следующие строки:

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
PATH=$PATH:~/bin

Эти строки решают проблему временно; однако, когда я перезагружаю терминал, кажется, что эти изменения забываются.

Как мне навсегда сбросить $ PATH?

Я использую самую последнюю версию Mountain Lion.

Nosrettap
источник
5
Исправлено:/bin/rm ~/.bash_profile
Nosrettap
2
Хороший вопрос. Вы всегда можете поставить свое исправление в ответ.
bassplayer7
Также спросили на суперпользователя
Гленн Джекман
1
Понимая, что вы уже исправили свою проблему, пользователи с подобной проблемой могут также найти помощь по адресу/etc/paths
Дэвид Смит

Ответы:

15

Предложенный ответ об удалении .bash_profileне является хорошей идеей в целом. Есть и другие вещи, которые могут быть установлены в этом файле, кроме PATHопределений.

Если вы хотите отменить результаты экспериментов, просто удалите или закомментируйте эту PATHстроку с помощью #.

Вы не хотите редактировать PATHс нуля, но добавляете к нему, как вы сделали со своей второй строкой. Предпочтительный метод добавления чего-либо к вашему пути:

export PATH=$PATH:$HOME/bin

РЕДАКТИРОВАТЬ Так как ваш PATHиспорчен, у вас нет доступа к обычным командам для внесения этих изменений. В качестве временного исправления вы можете определить новый минимальный путь в окне терминала (не в вашем .bash_profile), набрав:

PATH=/bin:/usr/bin

Это временно даст вам доступ к nano ls mv vi catи rm- основные инструменты для проверки и редактировать .bash_profileи исправить вашу проблему ...

Повторите, не помещайте это PATHопределение нигде, кроме как на время сеанса, пока вы делаете свои исправления.

берый
источник
5

Рекомендую:

source /etc/profile

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

Я делаю приличное количество изменений пути в моем ~ / .bash_profile, и я поместил это в начало файла, потому что у меня были проблемы с перезагрузкой моего профиля, когда я работаю после того, как я настроил псевдоним там или что-то в этом роде и это добавляло повторяющиеся ссылки на мой путь. Вместо того, чтобы проверить, добавлено ли оно, я просто сбрасываю свой путь к исходной версии и повторно добавляю нужные элементы.

rjferguson
источник
3

Удалите свой профиль bash, чтобы восстановить настройки по умолчанию $PATH. Введите следующую команду в Terminal.app :

/bin/rm ~/.bash_profile

Изменение произойдет со следующей сессией оболочки или терминала.

Грэм Милн
источник
Ответ, основанный на комментариях исходного опрашивающего, чтобы удалить вопрос из очереди без ответа.
Грэм Милн
4
Что ж, если вы хотите сохранить другой контент в своем профиле, /bin/mv ~/.bash_profile ~/bash_profileможет быть лучше просто
nohillside
1
Это самый простой ответ, который я нашел на всех сайтах SE. Благодарность!
н 5
0

По умолчанию OSX $PATHгенерируется из содержимого /etc/pathsфайла, его довольно просто изменить.

Крис Кил
источник
1
Модификация /etc/pathsнесет в себе риск того, что изменения будут перезаписаны при следующем обновлении OS X, также это не работает для пользовательских путей, таких как ~/bin.
холме
Это правда, хотя я обычно обращаюсь с этим в моем .rc позже. У меня также еще не было /etc/pathsсброса с помощью обновления (несколько лет назад, с тех пор, как я начал использовать brew).
Крис Кил
В настоящее время хакерская работа над боксен-инициализацией, которая, я надеюсь, сделает меня невосприимчивым к новым перезаписывающим обновлениям.
Крис Кил
0

Эти методы великолепны! Если у вас есть эта проблема с zsh, удалите ~/.zshrcЭто избавит вас от ваших настроек zsh.

RedG3ar
источник
Вы бы предпочли сохранить копию/bin/mv ~/.bash_profile{,.bck}
MauroPorras