Изменение содержания строки приглашения linux

Изменение содержания строки приглашения linux

Переменная оболочки — это некоторая строка символов, доступная по уникальному имени. Оболочка bash содержит в себе специальную переменную с именем PS1, которая определяет текст приглашения оболочки. Чтобы изменить этот текст, Вам нужно изменить содержимое переменной PS1.

Чтобы изменить содержимое переменной, введите ее имя и знак равенства (`=’), а затем строку, которая должна заменить существующее значение переменной. Например, для смены приглашения на строку «Чего изволите», введите:

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

Вы можете поместить в строку приглашения специальные символы для вывода определенного текста. Например, символ `
w’ в строке-значении PS1 проводит к выводу на месте приглашения наименования текущего рабочего каталога.

Для смены Вашего приглашения на стандартное приглашение bash — имя рабочего каталога и символ `$’ — введите:

Следующая таблица содержит список специальных символов и описание их назначения.

Символ Назначение
\a Cимвол Ctrl-g, который вызывает системный звонок
\d Текущая системная дата
\h Сетевое имя машины
\n Символ новой строки
\t Текущее системное время в формате 24 часов
\@ Текущее системное время в формате 12 часов am/pm
\w Имя текущего рабочего каталога
\u Имя пользователя
\! Номер следующей команды в истории команд

Вы можете использовать в строке приглашения любое количество специальных символов.Например, чтобы сменить строку приглашения на последовательность системной даты, пробела, сетевого имени машины в круглых скобках и символа >, введите:

Источник

Изменение приглашения терминала в bash

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

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

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

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

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

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

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

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

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

  • \d — Дата в формате «День, месяц, число», например, Срд, Окт, 17.
  • \h — Имя хоста (hostname) до первой точки
  • \H — Полное имя хоста
  • \t — Текущее время в 24-часовом формате: HH:MM:SS (часы:минуты:секунды)
  • \T — Текущее время в 12-часовом формате: HH:MM:SS
  • \@ — Текущее время в 12-часовом формате am/pm
  • \u — Имя пользователя, запустившего оболочку
  • \w — Полное имя текущего рабочего каталога (начиная с корня)
  • \W — Текущий рабочий каталог (без указания пути)
  • \$ — Символ #, если оболочка запущена суперпользователем, и символ $, если оболочка запущена обычным пользователем.
  • \n — Новая строка (перевод строки)
  • \s — Имя оболочки
  • \# — Текущий номер команды
  • \! — Порядковый номер данной команды в истории команд
  • \\ — Обратный слэш (a backslash)
  • \nnn — Непечатный символ, имеющий восьмеричный код nnn (к примеру esc)
  • \a — Звуковой сигнал (ASCII-код 007)
  • \e — escape (ASCII-код 033)
  • \[ — Начало последовательности не печатаемых символов (этот символ может быть использован для того, чтобы включить в текст подсказки последовательность управляющих символов терминала)
  • \] — Конец последовательности не печатаемых символов
Читайте также:  Keybd event to windows

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

  • # — номер свойства цвета
  • ## — номер цвета

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

Свойство Код
Значение по умолчанию 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 :

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

Источник

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

Введение

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

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

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

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

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

  • \u — (user) имя текущего пользователя.
  • \h — (host) имя текущего хоста.
  • \W — (working directory) путь к рабочему каталогу (каталог, где сейчас находится пользователь).
  • \\$ — тип пользователя (# — для root, $ — для обычных пользователей).

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

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

Сохраним текущий формат строки приветствия в новую переменную — 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 часовом формате «часы:минуты:секунды

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

  • \h — имя хоста до первой точки
  • \H — полное имя хоста
  • \j — количество работ (jobs), выполняемых в терминале (скрытых после нажатия Ctrl+Z)
  • \s — имя текущей оболочки (вывод значения переменной — $0)
  • \u — имя текущего пользователя
  • \v — версия оболочки BASH
  • \V — более детальная версия оболочки BASH
  • \w — полный путь к текущей директории
  • \W — имя текущей директории
  • \! — номер текущей команды в истории команд
  • \# — номер текущей команды за период сессии
  • \\$ — тип пользователя (# — для root, $ — для всех остальных)

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

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

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

/.bashrc или /etc/bashrc .

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

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

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

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

PS1=»\e[1;38;5;48m\u@\h\e[m:\e[1;38;5;45m\w\e[m\n\\$ »
# Добавим сообщение для авторизованных пользователей
logged_user=$USER # Логин пользователя
echo -e «\e[1;38;5;215mЗдравствуйте $, добро пожаловать на сервер meliorem.ru!\e[0m»

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

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

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

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

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

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

Понравилась статья? Расскажите о ней друзьям!

Источник

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

Приглашение ко вводу команд в bash — это строка, которая отображается слева от каждой команды, которую вы вводите в терминале. Обычно приглашение имеет вид пользователь@hostname:директория$

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

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

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

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

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

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

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

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

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

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

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

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

Обозначение Описание
a ASCII-символ bell (07)
d Дата в формате «День недели Месяц Дата» (например, «Пн Ноя 26»)
D Значение format передается функции strftime. В строку приглашения подставляется результат выполнения функции. Фигурные скобки обязательны.
e ASCII-символ escape (033)
h Hostname (имя хоста) до первого символа точка « . ».
H Hostname (имя хоста, компьютера).
j Количество фоновых процессов, запущенных в данной оболочке
l Базовое название оболочки.
n Переход на новую строку.
r Переход к началу строки (возврат каретки).
s Имя оболочки (имя shell).
t Текущее время в 24-часовом формате (HH:MM:SS).
T Текущее время в 12-часовом формате (HH:MM:SS).
@ Текущее время в 12-часовом am/pm формате.
A Текущее время в 24-часовом формате (HH:MM).
u Имя пользователя.
v Версия bash (например, 4.4).
V Версия bash с версией релиза (например, 4.4.19).
w Текущий абсолютный путь (полный путь). Домашняя директория сокращается до значка тильды «

».

W Текущий относительный путь. Домашняя директория сокращается до значка тильды «

».

! Номер команды в истории команд (history).
# Номер команды в текущей сессии терминала.
$ Символ приглашения ( # для root, $ для обычных пользователей).
nnn Символ, соответствующий восьмеричному значению nnn.
Символ обратной косой черты «».
[ Начало последовательности непечатаемых символов.
] Конец последовательности.

Примеры

Пример 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):

Цвет Числовое
обозначение
Black 30
Red 31
Green 32
Brown 33
Blue 34
Purple 35
Cyan 36
Light gray 37
Dark gray 90
Light red 91
Light green 92
Light yellow 93
Light blue 94
Light magenta 95
Light cyan 96
White 97

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

Примеры

Пример 1

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

Пример 2

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

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

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

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

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

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

Теперь выполним команду source, чтобы наши изменения вступили в силу:

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

Источник

Читайте также:  Гугл прокси сервер windows
Оцените статью