Я испортил свою переменную пути, и теперь некоторые приложения, которые я запускаю, выдают ошибки, говорящие о Command Not Found (ошибка 127) для таких команд, как date и sleep . Эти команды прекрасно работают, когда выполняются непосредственно в оболочке.
Я предполагаю, что это как-то связано с искаженной переменной $ PATH, и мне нужно знать, как ее сбросить. Я удалил файлы ~ / .bashrc , ~ / .bash_profile , /etc/bash.bashrc и ~ / .bashrc и ~ / .profile .
Какие другие файлы могут содержать мой $ PATH ? Есть ли какой-нибудь более простой способ сбросить путь, чем копаться в бесчисленных файлах, которые могут содержать мой путь?
Обратите внимание, что эта проблема только с моим пользователем. Я сделал тестового пользователя в моей системе, и путь был в порядке, вернуться к нормальному.
ОБНОВЛЕНИЕ: Спасибо. Я не знаю, какой из удаленных файлов сделал это, но все снова работает. Вы, ребята, сделали то, что «Эксперты» не смогли. И да, Крис, ты был прав. Настройки PATH, которые я сделал, были в bash_login. Но так или иначе это работало без того, чтобы я удалил те настройки. Я думаю, это могло быть потому, что я использовал эту предварительную панель под названием «RCEnvironment», и я ввел путь с кавычками и: PATH в нем. Я не знаю, принимает ли он кавычки, и он не заменяет: $ PATH, так что, вероятно, это корень ошибки. Я забыл, что у меня даже был этот preppane!
Ответы:
Если у вас есть файл ~ / .MacOSX / environment.plist, проверьте его, чтобы узнать, предоставляет ли он значение PATH по умолчанию.
Если это в формате XML (списки могут быть во многих форматах), вы можете редактировать с любым текстовым редактором. Проверьте это,
plutil -lint ~/.MacOSX/environment.plist
если вы редактируете это вручную.Или вы можете использовать такие команды, как значения по умолчанию или PlistBuddy, чтобы делать контролируемые изменения в XML-файлах или файлах двоичного формата plist.
Вы всегда можете установить свой собственный PATH в любом из файлов инициализации вашей оболочки.
Поместите что-то вроде следующего в ваши файлы запуска вашей оболочки (
.bashrc
или.bash_profile
/.bash_login
/.profile
):Это переопределит любой установленный по умолчанию PATH при запуске оболочки (первый
PATH=
не использует$PATH
, поэтому он всегда будет начинаться только с того, что вы ему дадите).Никогда не будет использоваться только один из файлов «Войти» (первый, который существует и читаемые
~/.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
типдо терминала
3.Если
$PATH
тот терминал вернул тот путь, который вы хотите, значит, вы хороши; если нет, введитезатем введите
, а затем введите
, затем вы найдете открываемый EditText, теперь введите желаемый путь в этом EditText; Например, введите
(это значение
$PATH
по умолчанию для Mac, учитывая, что вы хотите сбросить его,$PATH
поэтому вам, вероятно, следует набрать его), сохраните его, затем закройте EditText, затем закройте Terminal.4.Теперь вы уже изменили
$PATH
или сбросили настройки Mac по умолчанию$PATH
!источник
touch
необходимо? Кроме того, поскольку вы все равно закрываете терминал, зачем запускать вexport
командной строке, а не только добавлять его~/.bash_profile
(чтоexport
тоже нужно ) и покончить с этим? (Или запустите,source ~/.bash_profile
чтобы применить изменения к текущему окну.)rc/profile
Показанные правки Криса Джонсона также хорошо работают в/etc/profile
.Я только что добавил:
в мой
/etc/profile
файл в Mac OS X 10.9 Mavericks, чтобы завершить установку MariaDB (которая отлично подходит для замены MySQL).источник
Если вы используете ZSH - переменная пути, к счастью, восстанавливается при перезагрузке терминальной сессии.
https://github.com/robbyrussell/oh-my-zsh
https://www.iterm2.com/
источник