Mac OS X терминал проблема столкнулась - PullRequest
1 голос
/ 09 марта 2011

Боже мой ... я столкнулся с большой проблемой ... я создал .bash_profile в ~ папке и затем установил пути там ... но большая проблема в том, что после перезапуска моего bash я вижу, что ни одна из моих команд работать как LS и RM и т. д. ...

теперь я не знаю, как это исправить ... кто-то мне поможет ... мне нужен мой терминал как можно скорее ...

Ответы [ 5 ]

2 голосов
/ 09 марта 2011

Убедитесь, что вы добавляете к существующей переменной $ PATH.

PATH=$PATH:/Users/mthalman/bin
1 голос
/ 10 марта 2011

Чтобы предотвратить это в будущем:

Когда я редактирую файлы своей среды (включая bashrc, профиль, логин и другие), я всегда пытаюсь запустить другую оболочку перед выходом из среды редактирования.Это защищает меня от возможности нарушить мою среду, поэтому я не могу войти.

0 голосов
/ 10 марта 2011

Если вы находитесь в окне терминала, просто добавьте /bin и /usr/bin обратно в ваш PATH.

$ PATH="/bin:/usr/bin:$PATH"

Это должно позволить всем основным командам Unix работать снова.Или вы можете использовать полный путь к командам:

$ PATH=""  #Can't find nothin'
$ ls
bash: ls: command not found.
$ /bin/ls -a  #This will work!
.   ..   .bash_profile   foo   bar

Не сбрасывайте PATH в вашем .profile!

Как вы обнаружили, вы не должны никогда сбросить PATH в вашем файле `.bash_profile.Вместо этого вы всегда должны добавлять и добавлять к нему:

PATH="/usr/local/bin:$PATH"
PATH="$PATH:$HOME/bin"

В первой строке будет добавлено /usr/local/bin к PATH, что означает, что если команда находится в /usr/local/bin и /usr/bin, версия /usr/local/binбудет выполнен.Многие системные администраторы помещают альтернативные системные команды в /usr/local/bin.Например, в Solaris они могут поместить VIM в /usr/local/bin/vi, поэтому при редактировании файла вы используете улучшенный VIM, а не базовый VI.

Вторая строка добавляет ваш $HOME/bin кконец $PATH.Это означает, что если есть /bin/ls и у вас есть ~/bin/ls, /bin/ls будет выполняться первым.

Никогда не устанавливайте PATH с нуля, потому что каждая система Unix может иметь команды, к которым вы обращаетесь в других местах системы,Например, ваш сайт может потребовать, чтобы вы использовали X11, поэтому вы должны указать / usr / X11 / bin в вашей переменной PATH, или у вас установлен GIT в каталоге /opt/git, и вам потребуется /opt/git/bin в вашем пути.

Иногда базовые утилиты, такие как ls, можно заменить на обновленные версии этих утилит.В Solaris у вас есть команды base vi и ls. Большинству пользователей нравится команда GNU ls, потому что она использует цвет и предпочитает VIM обычному VI.Я включил бы эти утилиты в /usr/local/bin и добавил их к своему PATH.


А теперь Слово от спонсора

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

Я использую замену Finder под названием Path Finder .Он содержит множество аккуратных опытных пользователей вещей, например, позволяющих просматривать скрытые файлы, обрабатывать пакеты , таких как приложения, как каталоги, и иметь возможность просматривать защищенные каталоги, если у вас есть права администратора.,Есть встроенный терминал и клиент Subversion с графическим интерфейсом.

Это не дешево (40 долларов), но вы можете скачать бесплатно и попробовать его в течение 30 дней.

Кстати, у меня нет абсолютно никаких отношенийв Cocoatech, кроме как в качестве клиента, и я не зарабатываю деньги на людей, покупающих Path Finder.Это всего лишь инструмент, которым я пользуюсь.

0 голосов
/ 09 марта 2011

Сначала я бы переименовал ~/.bash_profile в ~/old.bash_profile.

Затем откройте это в TextEdit (как простой текстовый документ) и проверьте, как вы установили свой путь.

Если вы предпочитаете использовать vim / emacs / nano / what, то переименование файла позволит новым сеансам терминала использовать пути по умолчанию, поэтому из командной строки у вас все будет в порядке.

Затем убедитесь, что вы не забили $PATH, как предложено @Mark Thalman, выше.

0 голосов
/ 09 марта 2011

Убедитесь, что ваш PATH содержит обычные каталоги bin: /bin и /usr/bin.

...