Как изменить приветствие терминала linux

Обновлено: 07.07.2024

Приглашение в командной среде bash изменяется при помощи изменения переменных PS1, PS2, PS3, PS4 и PROMPT_COMMAND.

  • PS1 - переменная, которая задает вид строки приглашения командной строки, которое bash выводит, когда ожидает ввода очередной команды пользователем.
  • PS2 - переменная, отвечающая за вторичный тип приглашения ввода.
  • PS3 - третичное приглашение, выводится тогда, когда пользователь должен сделать выбор в операторе select.
  • PS4 - приглашение четвертого уровня, выводится при отладки сценариев (скриптов) в начале каждой строки перед командой перед исполняющейся командой.
  • PROMPT_COMMAND - содержимое этой переменной выполняется перед каждой строкой приглашения.

Для того чтобы узнать текущие значения этих переменных можно воспользоваться командой echo.

Вывод будет примерно следующим:

Для изменения переменной можно пользоваться командой export . Например:

Изменит приглашение на такое:

Другим методом изменения данных переменных является задание из в конце файла

/.bashrc . Это делается таким образом:

Задание параметров приглашения командной оболочки производится при помощи задания управляющих последовательностей:

Изменение цвета строки приглашения:
Изменение цвета строки приглашения командной оболочки делается при помощи последовательности

Номера свойств текста:

Свойство Код
Значение по умолчанию 0
Повышенная яркость 1
Пониженная яркость 2
Подчеркнутый 4
Нормальная яркость 5
Инвертированный 7
Скрытый 8

Цвет Текст Фон
Черный 30 40
Красный 31 41
Зеленый 32 42
Желтый 33 43
Синий 34 44
Фиолетовый 35 45
Голубой 36 46
Белый 37 47

Например такая последовательность:

Настроит строку приглашения следующим образом:


Как видно из примера управляющая последовательность изменяет свойства всего текста после неё и до другой последовательности.
Таким же образом устанавливается цвет фона и текста, но параметры дублированы. Первые два для фона, вторые - для текста:

Переменная PS2 :
Содержимое переменной PS2 появляется на экране терминала при переносе ввода команды на следующую строку. Например:


Метод изменения переменных одинаков, не будем останавливаться на каждой отдельно.
Переменная PS3 : Этот вид приглашения используется в скриптах, когда нужно сделать выбор при использовании оператора select.
Переменная PROMPT_COMMAND : Эта переменная используется для помещения какого либо выражения перед каждой строкой приглашения терминала:
Например если поместить в неё команду ls :

То перед каждой строкой приглашения выведется список файлов текущей папки:

Строка приветствия или приглашения (prompt) представляет собой текст, после которого пользователь может вводить команды в терминале Linux. В каждом дистрибутиве Linux строка приветствия имеет свою форму, например в CentOS 7 по умолчанию она выглядит так:

Вид строки приглашения по умолчанию в CentOS 7

Вид строки приглашения по умолчанию в CentOS 7

Форма строки приглашения хранится в переменной PS1 .

Увидеть шаблон, по которому строится строка приглашения можно с помощью вывода переменной PS1 .

Как видим строка состоит из обычных символов, которые выводятся в терминале как есть и экранированных символов вместо которых подставляются следующие данные:

Как изменить формат строки приглашения в терминале

Перед тем как изменять строку приглашения рекомендую сохранить ее текущий формат, чтобы в любом случае можно было все вернуть назад.

Сохраним текущий формат строки приветствия в новую переменную - PS1_SAVE .

Чтобы изменить формат строки приглашения, нужно изменить значение переменной - PS1 . Самая простая строка приглашения этот всего лишь один символ с пробелом.

Обычный текст не блещет информативностью, поэтому кроме него вам могут пригодиться экранированные символы, их список вы можете видеть ниже.

Простые экранируемые символы

  • \a - звуковой сигнал (ASCII: 07)
  • \e - символ escape-последовательности
  • \" - двойные кавычки
  • \\ - обратный слэш
  • \n - новая строка
  • \r - возврат каретки (курсора) на начало строки
  • \[ - начало последовательности непечатных символов
  • \] - конец последовательности непечатных символов
  • \nnn - восьмеричный код символа (\113 -> K)

Вывод даты и времени

  • \d - дата в формате "день недели месяц число"
  • \D - дата в указанном формате, например \D
  • \@ - время в 12 часовом формате "часы:минуты AM\PM"
  • \A - время в 24 часовом формате "часы:минуты"
  • \t - время в 24 часовом формате "часы:минуты:секунды"
  • \T - время в 12 часовом формате "часы:минуты:секунды

Вывод системной информации

Рассмотрим пример создания кастомной строки приглашения. Выведем имя пользователя, имя хоста и полный путь для каталога, а с новой строки - тип пользователя.

Если вы хотите вернуть все назад то просто вставьте значение переменной PS1_SAVE , в которой мы сохранили изначальный вид строки приглашения.

Для того чтобы изменения переменной PS1 были сохранены для последующих сессий в терминале, нужно прописать значение этой переменной в файлах настроек терминала

/.bashrc или /etc/bashrc .

Сохранение нового формата строки приглашения на постоянной основе

При каждом запуске терминала значение переменной PS1 устанавливается в соответствии с тем значением, которое указано в файле /etc/bashrc . Однако крайне не рекомендуется изменять что-либо в этом файле. Вместо редактирования файла /etc/bashrc предусмотрен специальный каталог /etc/profile.d , в котором можно создавать свои файлы *.sh с необходимым вам функционалом.

Создадим файл /etc/profile.d/custom.sh для необходимой нам настройки оболочки bash. Данный файл будет автоматически импортирован в /etc/bashrc , поэтому никаких дополнительных действий не потребуется.

Далее уставим нужное нам значение переменной PS1 , я также добавлю немного цвета для строки приветствия.

Для применения новых настроек в файле /etc/profile.d/custom.sh необходимо перезапустить терминал. Также для перезапуска можно использовать команду exec.

Теперь когда пользователь будет заходить в свою учетную запись в терминале, он увидит следующий результат.

Результат изменения строки приглашения в файле /etc/profile.d/custom.sh

Результат изменения строки приглашения в файле /etc/profile.d/custom.sh

Важно, что все эти настройки будут применены для всех пользователей. Если вы хотите настроить bash только для одного пользователя, то используйте скрытый файл .bashrc , который находится в домашнем каталоге пользователя. Для применения настроек в

/.bashrc необходимо будет перезапустить оболочку - source

Вы также можете раскрасить свою строку приветствия, о том как это сделать вы можете почитать здесь.

Bash Promt PS1

Приглашение можно настраивать. Можно добавлять информацию или, например, изменить цвет приглашения.

В какой переменной задается приглашение

Формат строки приглашения задается в переменной окружения PS1. Чтобы настроить приглашение, необходимо изменить значение переменной PS1.

Например, переменная PS1 может иметь значение:

Или, например, командой echo $PS1 можно вывести текущее значение переменной PS1. У меня в Ubuntu оно выглядит так:

Не пугайтесь. На самом деле существует масса возможностей для настройки строки приглашения. Ниже мы рассмотрим базовые методы настройки.

Как изменить приглашение (только для данной сессии)

Можно установить переменную PS1 только для текущей сессии в терминале. Это удобно, пока вы подбираете, как будет выглядеть строка приглашения. Чтобы это сделать нужно выполнить команду export для переменной PS1, например:

После выполнения команды строка приглашения в терминале сразу изменится.

Настройка приглашения

Для задания различных значений переменной PS1 существуют специальные символы. Комбинируя различные специальные символы можно составить свою строку приглашения.

Специальные символы начинаются с символа косой черты « \ », за которой следует буква или символ. Ниже приведена таблица специальных символов.

Примеры

Пример 1

Приглашение, состоящее из одного символа « > »:


Пример 2

Текущее время, пользователь, текущая директория:


Пример 3

Дата, пользователь, текущая директория, номер команды:


Как изменить цвета в строке приглашения

Элементы строки приглашения можно раскрашивать в разные цвета.

Чтобы задавать цвета для элементов строки приглашения нужно части строки приглашения заключать в специальные символы.

Используется следующий синтаксис:
\e[ X;Ym РАСКРАШИВАЕМАЯ_СТРОКА \e[m

\e[ - начало цветовой схемы.
X;Ym — цветовая пара (X;Y). Именно значения X и Y определяют цвет.
\e[m — окончание цветовой схемы.

Небольшой пример, чтобы вы понимали о чем идет речь. Раскрасим всю строку целиком цветом с обозначением 0;36.


Цвета задаются числами. Можно задавать парой X;Y или просто Y. Например, красный это — 0;31 или просто 31. Есть и другие способы задания цветов, но в данной статье мы их не рассматриваем.

Список цифровых обозначений для цветов (Y):

ЦветЧисловое
обозначение
Black30
Red31
Green32
Brown33
Blue34
Purple35
Cyan36
Light gray37
Dark gray90
Light red91
Light green92
Light yellow93
Light blue94
Light magenta95
Light cyan96
White97

При задании цвета двумя числами X;Y, первое число X принимает следующие значения:
0 — обычный цвет;
1 — будет использоваться более яркий цвет;
2 — более темный цвет;
3 — курсив;
4 — подчеркивание;
5 — моргание.

Примеры

Пример 1

Например, установим имя пользователя желтым цветом, а остальной текст оставим стандартным цветом (в моем случае это белый). Для указания желтого цвета используем обозначение 1;33 (как светло-коричневый).


Пример 2

Раскрасим остальные элементы строки приглашения:


Как изменить приглашение на постоянной основе

Новое значение переменной PS1 прописывается в файле .bashrc , который расположен в вашей домашней директории (файл может отсутствовать).

Откроем файл .bashrc в редакторе nano для редактирования. Для этого в терминале выполним команду:

Перейдем в конец файла и добавим новую строку, в которой пропишем значение переменной PS1. Например:

Сохраним изменения и закроем файл. Для этого нажмите Ctrl+X , затем Y и Enter , чтобы сохранить изменения.

Hestia – Панель управления хостингомHestia – является форком панели VestaCP, в отличие от последней имеет несколько преимуществ. Hestia имеет встроенный файловый менеджер, теперь не обязательно соединяться по FTP при помощи FileZilla, а загрузку файлов и правки конфигов можно производить через браузер. Так же имеет исправления в коде bash-бэкенда, поддерживается возможность выбора нескольких версий PHP и нормальная работа в режиме php-fpm. Интерфейс более адаптирован под мобильные устройства, им

Remmina – Подключаемся к удаленному рабочему столу по RDP на примере Raspberry Pi Для удаленного администрирования компьютеров существует множество утилит, но, на мой взгляд, самым удобным является Remmina. Про установку которой на сайте имеется статья, а сегодня рассмотрим способ подключения к удаленному рабочему столу на Raspberry Pi. Так же, если вам интересно, на сайте имеется статья по подключению к Raspberry Pi при помощи утилиты VNC. Замечу, что данная инструкция подойдет не только к Rasp

Репозитории тем Conky на GitHub Если вы пользуетесь системным монитором Conky, то эта статья для вас. Не так давно я наткнулся на GitHub на репозитории тем для этого системного монитора. О Conky на сайте имеется несколько статей, если вам интересно, то читайте здесь про ошибку синтаксиса, здесь про установку в Debian 10, а здесь про установку в Debian 10 Conky-Manager. Ну а мы возвращаемся к репозиторию на Github. В большинстве случаев с темой на GitHub идет описания по ее установке, если же нет

Conky – исправление ошибки Syntax errorСистемный монитор Conky знают многие, и многие им пользуются. Но, некоторые пользователи возможно уже столкнулись с проблемой ошибки синтаксиса, или столкнутся в будущем – Syntax error, при обновлении самих Conky. Не вдаваясь в подробности, вкратце опишу в чем дело, а дело в том, что структура кода самих Conky изменился и должен выглядеть в стиле Lua. По этой причине старые темы невозможно запустить. Но, разработчики дали нам возможность автоматической конф

Устанавливаем Google Chrome в Linux Google Chrome является самым популярным браузером, благодаря тому, что он довольно-таки шустрый, современный и предоставляет пользователю все последние разработки от компании Google. Сам же браузер Google Chrome базируется на основе свободного браузера Chromium, который в свою очередь использует движок Blink. Не даром же некоторые другие браузеры так же используют в качестве своей основы именно Chromium, но, все они не дотягивают по своей популярности Google

Scribus – приложение для визуальной вёрстки Полиграфии Scribus приложения для так называемой визуальной верстке документов, журналов, книг и прочей подобной продукции. Распространяется бесплатно и является продуктом с открытым исходным кодом. По концепции аналогичен Adobe InDesign и QuarkXPress, хотя и уступаем им в некоторых моментах. Поддерживает шрифты в Unicode, имеется поддержка CMYK, и многое другое, что необходимо в работе с полиграфией в целом. Данное приложение является кроссплатформенн

Angry IP Scanner – Простой сканер сети Когда нужно просто просканировать сеть, необязательно устанавливать таких монстров как Nmap, который обладает множеством функций, если вам интересно, вы с Nmap можете ознакомиться прочитав эту статью. А сегодня речь пойдет про простой сканер, с графическим интерфейсом, но, при этом, являясь весьма полезным и не загромождённым лишними функциями. Называется он Angry IP Scanner, данный сканер предназначен в первую очередь для сканирования сети, и может стать х

Устанавливаем ZoneMinder в Linux Если вы хотите наладить видеонаблюдение и вам для этого необходим сервер, или программное обеспечение, которое способно работать с видеокамерами, то вам стоит обратить внимание на ZoneMinder. Это свободное программное обеспечение способно работать с локальными, сетевыми, цифровыми (в том числе и с USB камерами) и с аналоговыми видеокамерами. Имеет богатый арсенал настроек, а так же веб-интерфейс, через который можно осуществлять настройки, так же возможно получит

Настраиваем удаленный доступ на роутере Mikrotik Бывают случаи, что нужно настроить на роутере Mikrotik удаленный доступ, для этого необходимо иметь так называемый белый IP адрес, или, как его еще называют – статический. А так же, у вас должен быть уже настроен сам роутер Mikrotik, о том как его настраивать, читайте в этой статье, где подробно описан процесс настройки PPPoE соединения на Mikrotik. И так, предположим, что у вас имеется статический IP адрес, который выдал вам ваш интернет-провайде

Устанавливаем NextCloud на Raspberry Pi Если у вас имеется Raspberry Pi и вы желаете организовать свое облако дома, на данное устройство можно установить NextCloud, мощности самой малинки хватит для данной задачи. Тем самым, можно будет организовать синхронизацию файлов на всех ваших устройствах. Так как NextCloud это кроссплатформенное приложение, и может работать как на Linux, Windows, так и на Android. А так же вы спокойно сможете работать со своими файлами прямо через браузер. А если вы еще

Вы отметили максимальное количество друзей (64) на этой фотографии.

В данный момент вы не можете отметить человека на фотографии. Пожалуйста, попробуйте позже.

Чтобы отметить человека, наведите на него курсор и нажмите левую кнопку мыши. Чтобы отметиться на фото, наведите на себя курсор и нажмите левую кнопку мыши.

Меняем приветствие в терминале Linux Многие из тех, кто работает в Linux, используют терминал. Его приветствие обычно состоит из имени пользователя и название вашего компьютера. Но, в Linux можно изменить приветствие в терминале отредактировав файл “.bashrc” который находится в домашней директории пользователя. Но, сначала давайте по порядку разберем из чего состоит приветствие по умолчанию, это будет полезно для понимания как все устроено. И так, первым идет как уже говорилось, имя пользователя, затем имя компьютера (хоста), информация о нахождения в директории (тильда

Читайте также: