15

Я работаю на MacBook Pro с последней версией Mountain Lion.

Мне действительно нужна помощь, мне удалось кое-как повредить мой .bash_profile (я думаю), чтобы каждый раз, когда я открывал терминал, я получал ошибку, указанную ниже.

-bash: export: `/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin': not a valid identifier
-bash: export: `/Users/rob/Applications/sbt/bin:': not a valid identifier
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
-bash: tar: command not found
-bash: grep: command not found
-bash: cat: command not found
-bash: find: command not found

Я не уверен, что случилось, у меня нет sudo, cd или каких-либо нормальных команд. Единственный способ, которым я смог добраться до любого из главных каталогов, - через команду go to folder в Finder и попытаться найти файл безрезультатно.

Чтобы завершить все это, я думаю, что я создал файл, который может быть причиной проблемы, я хотел отредактировать .bash_profile, поэтому я набрал

sudo nano ./bash_profile

Это откроет новый файл в nano, который, я думаю, был затем сохранен. После этого я открыл настоящий .bash_profile, чтобы добавить путь к node.js.

Если я смогу получить доступ к .bash_profile, я думаю, что смогу вернуть его в нужное русло, но не могу его найти, стоит ли переустанавливать bash? Если так, как бы я сделал это на Mac, я попытался с помощью

brew install bash

к которому я добираюсь

-bash: brew: command not found

6 ответов6

17

⇧⌘. показывает скрытые файлы в файловых диалогах. Вы можете попробовать открыть ~/.bash_profile с помощью TextEdit и временно сделать его пустым.

11

Просто соберу все мои комментарии вместе для ответа:

Первое, что вы должны сделать, это изменить оболочку. Таким образом, вы можете установить оболочку, которая не будет загружать init-скрипты bash (.bashrc , .bash_profile) - как это сделать для терминального приложения Mac OS X можно посмотреть здесь: Поддержка Apple

Теперь вы сможете снова открыть терминал и использовать ваш любимый редактор командной строки, чтобы открыть файл .bash_profile (например, nano или vi):

В этом файле вы должны сбросить переменную PATH которая используется терминалом для поиска программ, которые он может выполнить.

Это можно сделать с помощью следующих двух строк:

PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH" # Make sure to use double quotes not single quotes And on a new line 
export PATH

Сначала будут установлены каталоги, которые вы хотите иметь в своем PATH, и экспортируйте этот PATH, чтобы сделать его доступным для всех программ, запускаемых из этой оболочки (через экспорт).

4

Я работал над той же проблемой, и я просто нашел более простое решение:

/usr/bin/nano .bash_profile

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

3

Я знаю, что это старая ветка, но я просто хотел оставить здесь свое решение в надежде, что у кого-то еще возникнет та же проблема.

Когда я запускал терминал из MacOS, все было в порядке с моим собственным пользователем, но когда меняли на sudo, он не мог работать (команда не найдена).

Я закончил тем, что исправил это:

nano ~/.bashrc

Просто удалили путь, который вызывал ошибку. Перезапустил терминал и теперь все работает нормально.

0

Недавно я обнаружил, что файлы стиля DOS вызывают проблемы для обоих скриптов .bash * в OS-X. Я должен использовать окончания файлов DOS для некоторого кода, которым делятся пользователи Windows, поэтому, если я редактирую .bash_profile во время этого git-репо, я получаю много сообщений об ошибках при запуске скрипта (при входе в систему). Утилита dos2unix исправила это.

-1

В дополнение к ранее упомянутому отображению скрытых файлов и использованию текстового редактора, существует также более простой способ открыть новую оболочку без изменения оболочки по умолчанию. Вы можете нажать Alt, нажав на приложение "Терминал", и выбрать «Новая команда ...». Затем введите "sh" в диалоговом окне и запустите его. Это откроет оболочку не-bash, и вы сможете отредактировать файл там. В будущем было бы неплохо оставить оболочку открытой или протестировать запуск нового .bash_profile до выхода.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .