Ответ 1
BASH имеет целый ряд способов автоматической настройки вашего приглашения, чтобы предоставить вам приятную информацию. Вы устанавливаете приглашение, устанавливая переменную среды PS1
. Например, если я устанавливаю PS1="$ "
, моя подсказка будет выглядеть так:
$
Не слишком информативный. Все, что я могу сказать, это то, что подсказка подсказывает мне.
Однако, если я установил PS1=\[email protected]\h: \w$
, моя подсказка теперь будет выглядеть так:
[email protected]:/usr/bin$
Это говорит мне, как я вошел в систему (\u
), на машине, на которой я нахожусь (\h
), и в каталоге, в котором я находится (\w
). Если я использую git
, было бы хорошо, если ветвь git, в которой я находилась, также является частью моей подсказки.
Это именно то, что происходит с вашим .profile
, вашим .bashrc
файлом, вашим .bash_login
или вашим .bash_profile
script. Или, что сделал администратор системы в /etc/profile
.
Есть несколько вещей, которые вы можете сделать. Или:
- Загрузите отсутствующий
__git_ps1
и убедитесь, что он находится в переменной среды$PATH
(которая задается комбинацией различных файлов инициализации, упомянутых выше). - Измените переменную среды
PS1
в любом файле инициализации (я считаю, что это, вероятно,.bash_profile
.
Просто добавьте это как последнюю строку:
PS1="\[email protected]\h:\w\n$ "
Добавленный \n
печатает подсказку с символом доллара на следующей строке:
[email protected]:/usr/bin
$
Мне нравится делать это, потому что подсказка может занять довольно много времени, и редактирование командной строки становится сложным, когда приглашение длиннее 30-50 символов. В противном случае это стандартная подсказка, которую использует большинство пользователей. Вы можете узнать больше о настройке BASH приглашений в man-страницах. (Найдите слово "Приглашение" на этой странице).
Если вы считаете это немного запутанным, радуйтесь, что вы не используете Kornshell. Я использую Kornshell и для получения того же приглашения PS1=\[email protected]\h:\w\n$
, я устанавливаю свое приглашение как:
export PS1='$(print -n "`logname`@`hostname`:";if [[ "${PWD#$HOME}" != "$PWD" ]] then; print -n "~${PWD#$HOME}"; else; print -n "$PWD";fi;print "\n$ ")'