Тот, кто начал работать в терминале Linux знаком со строкой по умолчанию в Bash:
[user@$host ~]$
Но знаете ли вы, что она полностью настраивается и может содержать некоторую полезную информацию? Вот несколько скрытых сокровищ, которые можно использовать для настройки Bash строки.
Строка в Bach задается переменной окружения PS1 (строка приглашения 1), которая используется для интерактивных подсказок оболочки. Существует также переменная PS2, которая используется в случае ввода и требуется для выполнения команды Bash.
[dneary@dhcp-41-137 ~]$ export PS1="[Linux Rulez]$ " [Linux Rulez] export PS2="... " [Linux Rulez] if true; then ... echo "Success!" ... fi Success!
PS1 является регулярной переменной среды.
Значение системы по умолчанию устанавливается в /etc/bashrc. В нашей системе, подсказка по умолчанию устанавливается с помощью этой строки:
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
Она проверяет, является ли значение PS1: \s-\v$ (значение по умолчанию системы), и если она есть, она устанавливает PS1 к значению [\u@\h \W]\\$.
Если вы хотите увидеть пользовательскую подсказку, вы не должны редактировать /etc/bashrc. Вместо этого вы должны добавить его в .bashrc в вашей домашней директории.
В части Подсказки man bash, вы можете найти описание всех специальных символов в PS1 и PS2 . Ниже приведены параметры по умолчанию:
Есть целый ряд специальных строк, которые могут быть полезны.
Есть много других специальных символов, вы можете увидеть полный список в PROMPTING части Bash man page.
Если вы используете более длинные подсказки (например, если вы включите \H или \w или полную дату и время), вы можете разбить вещи на две строки. Вот пример многострочные строки а, с указанием даты, времени и текущей рабочей директории в одной строке, и username @hostname на второй линии:
PS1="\D{%c} \w\n[\u@\H]$ "
Одна вещь, которую люди иногда делают это создать красочные приглашения. В то время как мы находим это раздражительным и отвлекающим, вы можете сделать подобное. Например, чтобы изменить дату и время, выше для отображения красным цветом, каталог в голубой цвет, и Ваше имя пользователя на желтом фоне, вы можете попробовать так:
PS1="\[\e[31m\]\D{%c}\[\e[0m\] \[\e[36m\]\w\[\e[0m\]\n[\[\e[1;43m\]\u\[\e[0m\]@\H]$ "
Разберем этот код:
Вы можете найти больше цветов и советы в быстром HOWTO Bash. Вы можете даже сделать текст перевернутым или мигающим! Почему на планете кто-то захочет это сделать, мы не знаем. Но вы можете!
Какие ваши любимые быстрые настройки в Bash? Дай нам знать в комментариях.