Тот кто начал работать в терминале 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]$ - вывод на экран этой части строки будет в цветах по умолчанию
Строку приглашение можно раскрасить как угодно, можно сделать текст перевернутым или мигающим и т.д.
Всё зависит только от вашей фантазии.
Вы должны авторизоваться, чтобы оставлять комментарии.
Комментарии ()