В Mac OSX 10.5 он не может найти мои команды терминала sudo, find и т. Д. - PullRequest
3 голосов
/ 12 марта 2009

Я не знаю, что произошло, но в моем терминале на Mac OSX 10.5 он больше не может найти мою команду sudo, или команду find и т. Д. Они есть, потому что, если я добавлю / usr / bin / sudo или / usr / bin / найти, что работает нормально ...

Мой файл .bash_login выглядит так: export PATH = "/ usr / local / bin: / usr / local / sbin: / usr / local / mysql / bin: / usr / bin $ PATH"

Мой файл .bash_profile выглядит так: export PATH = "/ Библиотека / Каркасы / Python.framework / Версии / Текущая версия / bin: /Library/Python/2.5/site-packages/django_trunk/django/bin: / usr / local / mysql / bin: / usr / bin / Суд $ PATH "

Я скажу сейчас, я не действительно знаю, что я делаю с Терминалом. Я всего лишь новичок во всем этом, и я должен что-то сделать для того, чтобы переменные среды (так они назывались?) Были потеряны. Я предположил, что мне просто нужно убедиться, что / usr / bin / path есть в моих файлах bash, но они есть, и, похоже, это не работает. Пожалуйста, помогите!

Кроме того, когда я использую команду / usr / bin / find, она говорит мне «В доступе отказано», хотя я вошел в Mac OSX как учетная запись системного администратора. Я не понимаю.

Любая помощь будет грандиозной. Спасибо - Джеймс

Ответы [ 4 ]

8 голосов
/ 12 марта 2009

Похоже, что оба ваших экспорта PATH искажены:

export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/bin$PATH"

Конечный бит там не будет работать. Должно быть:

export PATH=/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/bin:$PATH

Заметили двоеточие перед '$ PATH'? Это важно;)

Кроме того, двойные кавычки не обязательны.

Если это не сработает, нам понадобится дополнительная информация. Возможно, что что-то еще изменяет ваш путь, даже после загрузки конфигураций вашей оболочки.

Можете ли вы опубликовать результаты:

$ echo $PATH

Файлы конфигурации не всегда являются хорошим индикатором текущих переменных среды, поскольку они изменяются многими программами и файлами по всей вашей системе. Чтобы увидеть все переменные среды, вы можете запустить:

$ env
3 голосов
/ 13 июля 2017

Это должно решить проблему полностью и навсегда.

сначала экспортируйте пути среды с помощью команды ниже в терминале.

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/b‌​in

теперь у вас есть команды, которые вы хотите. (например, попробуйте ls. Вы увидите, что команда работает). Но это только для текущей сессии. Если вы закроете терминал и откроете новый, у вас будет предыдущая проблема. Чтобы сделать это изменение постоянным, используйте команду ниже

перейти в домашний каталог

cd ~

открыть файл .bash_profile в nano / vim (здесь я использую nano)

nano .bash_profile

Откроется нано-редактор. В новой строке вставьте следующее:

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

нажмите «control» + «o» для сохранения (WriteOut) и «control» + «x» для выхода из nano.

Все готово! Теперь попробуйте команды.

1 голос
/ 27 апреля 2010
0 голосов
/ 23 июля 2018

Я прошел через ту же проблему, и вот как я решил ее.

Первым делом я вернул файл к исходному, выполнив таким образом

/usr/bin/nano ~/.bash_profile

В моем случае я не смог заставить работать любой псевдоним команды. Даже vi или vim не работали без указания полного пути к этой команде. Если nano не установлен, просто замените nano в команде установленным редактором

После этого просто перезагрузите компьютер. В моем случае, как я сказал ниже, я не мог использовать любую команду. При попытке сделать / usr / bin / source ~ / .bash_profile эта команда не удалась. Поэтому мне пришлось перезагрузить ОС, и она заработала

...