Это затрудняет понимание того, в каком каталоге я нахожусь. Я установил версию python для школы, и теперь она говорит -bash-3.2$
вместо MyMacbook: ~$
. Я уверен, что это действительно просто, но я ничего не знаю о терминале /bash /shell. Я все еще могу cd ~/Desktop
но вместо -bash-3.2$
просто MyMacbook: ~Desktop $
говорит: ~ Desktop $ .
2 ответа
У других было много шансов упомянуть слона в комнате, так что вот оно:
Ваше приглашение в оболочке 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-файл был поврежден, или какую оболочку вы ранее использовали и к которой должны вернуться, или вы просто вызывали подоболочку и не устанавливали переменную подсказки в способ, которым видят подоболочки.
дальнейшее чтение
- "Переменные Bourne Shell". Справочное руководство Bash. Фонд свободного программного обеспечения.
- "Управление подсказкой". Справочное руководство Bash. Фонд свободного программного обеспечения.
- Баш (1). Руководства по Mac OS 10 Apple Corporation.
- tcsh (1). Руководства по Mac OS 10 Apple Corporation.
- зшпарам (1). Руководства по Mac OS 10 Apple Corporation.
- zshmisc (1). Руководства по Mac OS 10 Apple Corporation.
Оболочкой по умолчанию (или интерфейсом командной строки), используемой в Mac OS X 10.0–10.2.8, является tcsh
.
Откройте «Настройки» в меню «Терминал», перейдите на вкладку «Автозагрузка».
В разделе «Открыть оболочки» выберите «Команда (полный путь)» и установите новую оболочку.
Затем напишите "chsh -s /bin/tcsh
» в поле
Или откройте приложение Terminal, затем:
- Выберите «Настройки» в меню «Терминал».
- Выберите опцию «Выполнить эту команду (указать полный путь):», затем запишите
/bin/tcsh