В Mac OSX 10.5 он не может найти мои команды терминала sudo, find и т. Д.

StackOverflow https://stackoverflow.com/questions/636693

Вопрос

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

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

Мой файл .bash_profile выглядит так: экспортировать PATH = " /Library/Frameworks/Python.framework/Versions/Current/bin: /Library/Python/2.5/site-packages/django_trunk/django/bin: / usr / local / mysql / bin: / usr / bin / Sudo $ PATH & Quot;

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

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

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

Это было полезно?

Решение

Похоже, что оба ваших экспорта 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

Другие советы

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

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

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.

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

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

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

/usr/bin/nano ~/.bash_profile

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top