1

Это затрудняет понимание того, в каком каталоге я нахожусь. Я установил версию python для школы, и теперь она говорит -bash-3.2$ вместо MyMacbook: ~$ . Я уверен, что это действительно просто, но я ничего не знаю о терминале /bash /shell. Я все еще могу cd ~/Desktop но вместо -bash-3.2$ просто MyMacbook: ~Desktop $ говорит: ~ Desktop $ .

2 ответа2

1

У других было много шансов упомянуть слона в комнате, так что вот оно:

Ваше приглашение в оболочке Bourne Again контролируется значениями переменных PS1 , PS2 , PS3 и PS4 . Соответствующей здесь является переменная PS1 . Он не был установлен, поэтому оболочка Bourne Again отображает приглашение по умолчанию, которое является расширением строки приглашения \s-\v\$  .

Требуемое приглашение может быть достигнуто установкой переменной следующим образом:

PS1='\h: \w\$'

Есть как минимум два способа, которыми вы могли оказаться в этой ситуации. Первое, что подразумевает 72DFBF5B A0DF5BE9 , - это то, что вы внезапно начали использовать оболочку Bourne Again, где раньше использовали оболочку Tenex C. Оболочка Tenex C использует разные переменные (prompt , prompt2, и prompt3) для управления тем, что отображается как приглашение, и имеет разные rc-файлы.

Требуемое приглашение достигается в оболочке Tenex C путем установки переменной следующим образом:

set prompt='%m: %~%$'

Он будет настроен в вашем ~/.tcshrc (или /etc/csh.cshrc или ~/.login или ...). Конечно, Shell, вызвав Bourne Again, не поймет этого. Таким образом, ответ - вернуться к оболочке, которую вы использовали ранее.

Другой способ, который, как заявляет heiglandreas , заключается в том, что вы действительно использовали оболочку Bourne Again и настроили ее с помощью переменной PS1 в сценарии ~/.bashrc (или /etc/profile или ~/.profile или ...). Затем что-то зашифровывало или просто переименовывало / удаляло этот скрипт. Ответ в этом случае состоит в том, чтобы расшифровать скрипт, чтобы он снова устанавливал PS1 в интерактивных оболочках.

Третья возможность состоит в том, что ваша переменная PS1 устанавливается в ~/.profile а не в ~/.bashrc , что она не export , и что вы вызвали вторичную оболочку из вашей оболочки входа в систему. В этом случае ответ будет состоять в том, чтобы выйти из вторичной оболочки или убедиться, что приглашение оболочки установлено в файле rc, который запускается как для входа в систему, так и для входа в систему без входа в систему, а не в файле rc, который выполняется только для оболочки входа в систему. ,

Для полноты я упомяну еще одну оболочку, обычно используемую в Mac OS 10: Z Shell. Он использует те же переменные, что и оболочка Bourne Again, и поддерживает множество escape-последовательностей в процентном стиле оболочки Tenex C.

Требуемое приглашение достигается в оболочке Z путем установки переменной следующим образом:

PS1='%m: %~%#'

Это будет установлено в ~/.zshrc (или ~/.zprofile или /etc/zprofile или /etc/zshrc или ...).

Я упоминаю об этом, чтобы подчеркнуть тот факт, что в Mac OS 10 есть несколько оболочек, которые можно использовать, что у них всех есть отдельные наборы rc-файлов, что их переменные приглашений не совпадают, и что эти переменные приглашений могут быть установлены в один из нескольких файлов RC в каждой оболочке. Поэтому вам придется прочитать руководства по оболочке и выяснить, какой rc-файл был поврежден, или какую оболочку вы ранее использовали и к которой должны вернуться, или вы просто вызывали подоболочку и не устанавливали переменную подсказки в способ, которым видят подоболочки.

дальнейшее чтение

0

Оболочкой по умолчанию (или интерфейсом командной строки), используемой в Mac OS X 10.0–10.2.8, является tcsh .

  • Откройте «Настройки» в меню «Терминал», перейдите на вкладку «Автозагрузка».

  • В разделе «Открыть оболочки» выберите «Команда (полный путь)» и установите новую оболочку.

Затем напишите "chsh -s /bin/tcsh » в поле

Или откройте приложение Terminal, затем:

  • Выберите «Настройки» в меню «Терминал».
  • Выберите опцию «Выполнить эту команду (указать полный путь):», затем запишите /bin/tcsh

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