Тот кто начал работать в терминале Linux, знаком со строкой приглашением по умолчанию, в Bash:
[user@$host ~]$
Это вывод переменной окружения PS1
и она, кстати, как и всё в Linux, полностью настраивается и может содержать полезную информацию.
Вот несколько приёмов, которые можно использовать для настройки строки приглашения в Bash.
Строка приглашения в Bash задается переменной окружения PS1
(Prompt Statement 1).
Существует также переменная PS2
, которая используется в случае если команды ввода длинные и требуется разбиение на строки.
Вот пример кода который меняет PS1
и PS2
в текущей сессии терминала:
[user@host ~]$ export PS1="[NewPrompt]$ " [NewPrompt] export PS2="... " [NewPrompt] if true; then ... echo "Success!" ... fi Success!
Значение PS1
устанавливается в ~/.bashrc
(в домашней директории пользователя).
Пример строки с PS1 по умолчанию:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
Командой man bash
, можно найти описание всех специальных символов для переменной PS1
и PS2
.
Ниже приведены параметры по умолчанию:
\u
: Имя пользователя
\h
: Краткое имя хоста до первого символа .
(точка)
\W
: Текущий относительный путь до рабочего каталога (если домашний каталог, то используется ~
(тильда))
\s
: Название оболочки (bash
или sh
, в зависимости от того какая оболочка используется)
\v
: Версия оболочки
Есть целый ряд специальных символов, которые могут быть использованы для настройки приглашения командной строки.
\d
: Расширяет формат даты до День недели Месяц Дата
(например, «Пт Сен 12»)
\D{fmt}
: Позволяет использовать пользовательские форматы даты (команда man strftime
покажет подробности)
\D{%с}
: Показывает дату и время в текущей локали
\n
: Перейти на новую строку
\w
: Полный путь к текущей рабочей директории
\H
: Полное имя хоста для текущей машины
\!
: Номер команды в истории команд (файл .bash_history
в домашней директории).
Есть много других специальных символов, вы можете увидеть полный список в PROMPTING
части Bash man page
.
Удобно иметь многострочную строку приглашение, например: в первой строке дата, время и текущая директория, а во-второй строке 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]$ "
Рассмотрим этот код:
\[..\]
: Объявляет начало и конец ввода непечатаемых символов (\[
- начало, \]
- конец)
\е[
: После этого тега следует особая последовательность вывода, чтобы изменить цвет или другие характеристики
31m
: Красный текст (41м
будет красный фон)
36m
: Синий текст
1;43m
: Желтый фон (1;33m
будет желтый текст)
\[\ е[0m\]
: Сбрасывает цвета терминала по умолчанию. @\H]$
- вывод на экран этой части строки будет в цветах по умолчанию
Строку приглашение можно раскрасить как угодно, можно сделать текст перевернутым или мигающим и т.д.
Всё зависит только от вашей фантазии.
Вы должны авторизоваться, чтобы оставлять комментарии.
Комментарии ()