Что содержит строка приглашения линукс

Bash (Русский)/Prompt customization (Русский)

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

Contents

Приглашения

Bash имеет четыре строки приглашения, каждая из которых может быть настроена.

Настройка конкретного приглашения подразумевает присваивание (обычно в файле

/.bashrc ) необходимой строки в переменную, например:

Техники

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

Escape-последовательности Bash

Полный список escape-последовательностей можно найти в руководстве bash(1) § PROMPTING и в справочнике Bash.

Escape-последовательности terminfo

Помимо escape-последовательностей, которые понимает Bash, большинство терминалов также распознают специальные последовательности, которые влияют на терминал сам по себе, а не на печатаемые символы. Например, так можно изменить цвет строки символов, сдвинуть курсор в произвольную позицию или очистить экран. Эти последовательности могут быть довольно неудобными и варьируются от терминала к терминалу, поэтому они задокументированы в базе данных terminfo. Чтобы увидеть, какие свойства поддерживает ваш терминал, выполните:

выведет escape-последовательности для настройки зелёного цвета шрифта.

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

Escape-последовательности ANSI

К сожалению, ANSI-последовательности могут отсутствовать в базе terminfo вашего терминала. Чаще всего это касается последовательностей для новейших возможностей вроде поддержки 256 цветов. В этом случае использовать tput не получится и придётся вводить escape-последовательности вручную.

В случаях, когда escape-последовательности Bash не поддерживаются (как в приглашении PS3), их можно добавить командой printf:

Встроенные команды

Если вы хотите добавить вывод какой-нибудь команды в приглашение, то используйте подстановку команд (command substitution). Например, чтобы добавить величину свободной памяти к приглашению попробуйте что-то вроде:

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

PROMPT_COMMAND

Переменной PROMPT_COMMAND можно присвоить произвольную команду, которая будет выполняться непосредственно перед выводом PS1. Это позволяет создавать довольно мощные эффекты. Например, можно переназначить PS1 на основе некоторых условий, или выполнить какие-то действия с историей Bash при выполнении любой команды.

Escape-последовательности между вводом и выводом

Чтобы вставить escape-последовательность после ввода, но перед началом вывода, можно перехватить (trap) Bash-сигнал DEBUG, который посылается перед выполнением каждой команды:

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

Примеры

Цвета

Если это не работает (причём установлено правильное значение TERM), протестируйте вручную разные последовательности:

Основные свойства

Следующие свойства terminfo будут полезны при настройке приглашения и поддерживаются во многих терминалах. #1 и #2 необходимо заменить на числовые аргументы.

СвойствоEscape-последовательностьОписание
Свойства текста
blink\E[5mмерцающий тект вкл
bold\E[1mполужирный текст вкл
dim\E[2mтусклый текст вкл
rev\E[7mобратное отображение вкл (текст/фон меняются цветами)
sitm\E[3mкурсив вкл
ritm\E[23mкурсив выкл
smso\E[7mвыделение текста вкл
rmso\E[27mвыделение текста выкл
smul\E[4mподчёркивание вкл
rmul\E[24mподчёркивание выкл
setab #1\E[4#1mзадать цвет фона #1 (0-7)
setaf #1\E[3#1mзадать цвет текста #1 (0-7)
sgr0\E(B\E[mотключить все атрибуты текста
Перемещение курсора
sc\E7сохранить позицию курсора
rc\E8вернуть курсор в сохранённую позицию
clear\E[H\E[2Jочистить экран и переместить курсор в левый верхний угол
cuu #1\E[#1Aпереместить курсор вверх на #1 строк
cud #1\E[#1Bпереместить курсор вниз #1 строк
cuf #1\E[#1Cпереместить курсор вправо #1 столбцов
cub #1\E[#1Dпереместить курсор влево #1 столбцов
home\E[Hпереместить курсор в левый верхний угол окна
hpa #1\E[#1Gпереместить курсор в столбец #1
vpa #1\E[#1dпереместить курсор в строку #1, первый столбец
cup #1 #2\E[#1;#2Hпереместить курсор в строку #1, столбец #2
Удаление символов
dch #1\E#1Pудалить #1 символов (аналогично нажатию клавиши backspace)
dl #1\E#1Mудалить #1 строк
ech #1\E#1Xстереть #1 символов (без перемещения курсора)
ed\E[Jочистить до нижнего края экрана
el\E[Kочистить до конца строки
el1\E[1Kочистить до начала строки

Отображение кода выхода

Это можно сделать с помощью условных выражений и функций:

Позиционирование курсора

Выравнивание по правому краю

Простейший способ напечатать текст у правого края экрана — использовать printf:

Произвольное позиционирование

Настройка названия окна терминала

Источник

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

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

Что содержит строка приглашения линукс. Смотреть фото Что содержит строка приглашения линукс. Смотреть картинку Что содержит строка приглашения линукс. Картинка про Что содержит строка приглашения линукс. Фото Что содержит строка приглашения линукс

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

Пример 1

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

Что содержит строка приглашения линукс. Смотреть фото Что содержит строка приглашения линукс. Смотреть картинку Что содержит строка приглашения линукс. Картинка про Что содержит строка приглашения линукс. Фото Что содержит строка приглашения линукс

Пример 2

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

Что содержит строка приглашения линукс. Смотреть фото Что содержит строка приглашения линукс. Смотреть картинку Что содержит строка приглашения линукс. Картинка про Что содержит строка приглашения линукс. Фото Что содержит строка приглашения линукс

Пример 3

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

Что содержит строка приглашения линукс. Смотреть фото Что содержит строка приглашения линукс. Смотреть картинку Что содержит строка приглашения линукс. Картинка про Что содержит строка приглашения линукс. Фото Что содержит строка приглашения линукс

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

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

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

Используется следующий синтаксис:
\e[ X;Ym РАСКРАШИВАЕМАЯ_СТРОКА \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. Например:

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

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

Источник

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

Введение

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

Что содержит строка приглашения линукс. Смотреть фото Что содержит строка приглашения линукс. Смотреть картинку Что содержит строка приглашения линукс. Картинка про Что содержит строка приглашения линукс. Фото Что содержит строка приглашения линуксВид строки приглашения по умолчанию в CentOS 7

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Как изменить приглашение командной оболочки bash в Linux?

В Linux существенная часть работы выполняется из командной оболочки. Одной из самых популярных командных оболочек является bash (сокр. от «Bourne-Again shell»). bash интерпретирует ваши команды и передает их для выполнения операционной системе.

Что такое приглашение командной оболочки?

Всякий раз, когда мы открываем окно терминала, мы видим приглашение командной оболочки:

имя_пользователя — имя пользователя, который в данный момент вошел в систему;

имя_хоста — имя хоста системы;

(тильда) — означает, что в данный момент мы находимся в домашнем каталоге /home/ ;

$ — означает, что текущий пользователь является обычным пользователем (а знак решетки # дает понять, что текущим пользователем является пользователь root).

Стейтменты приглашения bash

bash содержит 4 различных стейтменты приглашения (PS от англ. «Prompt Statement»):

PS1 — это основное приглашение, которое отображается перед каждой командой; по этой причине оно и модифицируется чаще всего.

PS2 — отображается в тех случаях, когда команде требуются дополнительные данные для ввода (например, при использовании многострочных команд).

PS4 — используется для запуска сценария оболочки в режиме отладки.

До сих пор мы работали только с PS1. В большинстве случаев вы будете работать только с PS1 и, возможно, с PS2.

Чтобы увидеть текущее значение PS1, введите следующее:

В зависимости от системы терминал вернет что-то вроде этого:

Что содержит строка приглашения линукс. Смотреть фото Что содержит строка приглашения линукс. Смотреть картинку Что содержит строка приглашения линукс. Картинка про Что содержит строка приглашения линукс. Фото Что содержит строка приглашения линукс

Теперь посмотрим, что у нас содержится в PS2:

Как видите, здесь у нас только одна угловая скобка:

Повторение той же команды для PS3 вообще вернет полностью пустую строку.

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

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

Или более краткий вариант:

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

Примечание: Расширение .bak (от англ. «backup») сообщает нам, что файл является резервной копией.

Изменение приглашения bash на постоянку

Откройте для редактирования файл конфигурации bash:

Прокрутите страницу до конца файла конфигурации и добавьте следующую строку:

Что содержит строка приглашения линукс. Смотреть фото Что содержит строка приглашения линукс. Смотреть картинку Что содержит строка приглашения линукс. Картинка про Что содержит строка приглашения линукс. Фото Что содержит строка приглашения линукс

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

Сохраните файл (сочетание клавиш Ctrl+O, и затем Enter) и выйдите из редактора (Ctrl+X).

Обновите bash, чтобы применить изменения:

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

Что содержит строка приглашения линукс. Смотреть фото Что содержит строка приглашения линукс. Смотреть картинку Что содержит строка приглашения линукс. Картинка про Что содержит строка приглашения линукс. Фото Что содержит строка приглашения линукс

Временное изменение приглашения bash

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

Давайте зададим такой вид приглашения, при котором будет отображаться только имя пользователя:

В результате, приглашение оболочки должно немедленно принять вот такую форму:

Что содержит строка приглашения линукс. Смотреть фото Что содержит строка приглашения линукс. Смотреть картинку Что содержит строка приглашения линукс. Картинка про Что содержит строка приглашения линукс. Фото Что содержит строка приглашения линукс

Вы можете откатить вышеприведенные изменения, просто выйдя и заново зайдя в систему.

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

Вы можете использовать следующие параметры с любым методом изменения приглашения bash: временным (с помощью команды export ) или постоянным (отредактировав файл .bashrc).

Отображение имени пользователя и имени хоста

Вы должны увидеть имя хоста в приглашении:

Что содержит строка приглашения линукс. Смотреть фото Что содержит строка приглашения линукс. Смотреть картинку Что содержит строка приглашения линукс. Картинка про Что содержит строка приглашения линукс. Фото Что содержит строка приглашения линукс

Добавление специальных символов

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

В результате будет отображаться следующее:

Примечание: Я рекомендуем вам сделать так, чтобы приглашение оканчивалось специальным символом или пробелом: двоеточие, угловая скобка или символ пробела непосредственно перед последней кавычкой. Это поможет пользователям визуально отделить приглашение оболочки от вводимой ими в данный момент команды.

Отображение имени пользователя, имени оболочки и версии оболочки

Введите следующую команду, чтобы отобразить имя пользователя, название оболочки ( s от англ. «shell») и её версию ( v от англ. «version»):

Приглашение должно измениться на следующее:

Что содержит строка приглашения линукс. Смотреть фото Что содержит строка приглашения линукс. Смотреть картинку Что содержит строка приглашения линукс. Картинка про Что содержит строка приглашения линукс. Фото Что содержит строка приглашения линукс

Добавление даты и времени в приглашение bash

Используйте следующие параметры для отображения различных форматов даты и времени:

\d — отображает текущую дату в формате [день_недели]/[месяц]/[число]:

export PS1=»\u@\H>\d «

\t — отображает текущее время в 24-часовом формате:

export PS1=»\u@\H>\t «

\T — отображает текущее время в 12-часовом формате:

export PS1=»\u@\H>\T «

\A — отображает текущее время в 24-часовом формате, но без секунд:

export PS1=»\u@\H>\A «

Убираем всю информацию из приглашения bash

Используйте эту возможность, чтобы скрыть отображение имен пользователей или имени хоста в приглашении:

Вы должны увидеть следующее:

Отделение обычных пользователей от root

Дополнительные параметры оболочки

Ниже представлен список большинства параметров, которые вы можете использовать для настройки приглашения bash. Стоит оговориться, что не все из них могут поддерживаться конкретным Linux-дистрибутивом:

\a — звуковой сигнал;

\d — дата (день/месяц/число);

\D <формат>— форматированный вывод текущего времени;

\e — символ escape-последовательности;

\h — имя хоста (короткое, до первой точки);

\H — полное имя хоста (доменное имя);

\j — количество задач, обрабатываемых оболочкой в данный момент;

\l — название терминала;

\n — переход на новую строку;

\r — возврат каретки на начало строки;

\s — название оболочки;

\t — время в 24-часовом формате (час:минута:секунда);

\@ — время в 12-часовом формате (AM/PM);

\A — время в 24-часовом формате без секунд;

\u — текущее имя пользователя;

\V — дополнительная информация о версии bash (номер релиза, патча);

\w — текущий рабочий каталог;

\W — базовое имя рабочего каталога;

\! — отображает номер, под которым команда будет занесена в историю команд bash;

\# — отображает номер команды в текущем сеансе без привязки к истории. При запуске нового терминала, нумерация начинается с единицы;

\\ — обратная косая черта;

\[ — начало последовательности непечатаемых символов (полезно, если вы хотите изменить цвет, добавить команду или набор инструкций в приглашение);

\] — конец последовательности непечатаемых символов.

Добавление в приглашение bash выполнения команды

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

Что содержит строка приглашения линукс. Смотреть фото Что содержит строка приглашения линукс. Смотреть картинку Что содержит строка приглашения линукс. Картинка про Что содержит строка приглашения линукс. Фото Что содержит строка приглашения линукс

Что содержит строка приглашения линукс. Смотреть фото Что содержит строка приглашения линукс. Смотреть картинку Что содержит строка приглашения линукс. Картинка про Что содержит строка приглашения линукс. Фото Что содержит строка приглашения линукс

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

\e[ — часть с escape-символом, обозначающая начало изменения цвета;

X — код атрибута текста:

0 — нормальный;

1 — жирный (яркий);

2 — тусклый;

4 — подчеркнутый;

Y — цветовой код текста:

30 — черный;

31 — красный;

32 — зеленый;

33 — коричневый;

34 — синий;

35 — фиолетовый;

36 — голубой;

37 — светло-серый.

Z — цветовой код фона:

40 — черный;

41 — красный;

42 — зеленый;

43 — коричневый;

44 — синий;

45 — фиолетовый;

46 — голубой;

47 — светло-серый.

m — символ, указывающий на конец блока с цветовым кодом.

Рассмотрим пример, который временно изменяет текст и цвет строки приглашения на зеленый:

\[ — сочетание символов, обозначающее начало блока изменения атрибутов текста;

\e[ — сочетание символов, обозначающее начало блока цветового кода;

0;32 — цветовой код ( 0 — обычный текст, 32 — зеленый цвет);

m — символ, указывающий на конец блока с цветовым кодом;

\] — сочетание символов, обозначающее конец блока изменения атрибутов текста;

[\u@\h \W]\$ — код, задающий стандартный вид приглашения оболочки;

\[ — сочетание символов, обозначающее начало блока изменения атрибутов текста;

\e[ — сочетание символов, обозначающее начало блока цветового кода;

0 — цветовой код ( 0 — обычный текст белого цвета)

m — символ, указывающий на конец блока с цветовым кодом;

\] — сочетание символов, указывающее на конец блока с цветовым кодом.

В результате мы получим следующее:

Что содержит строка приглашения линукс. Смотреть фото Что содержит строка приглашения линукс. Смотреть картинку Что содержит строка приглашения линукс. Картинка про Что содержит строка приглашения линукс. Фото Что содержит строка приглашения линукс

Откат изменений к настройкам по умолчанию

Есть два способа сбросить вышепредставленные изменения. Для временных изменений (введенных с помощью команды export PS1=»» ) достаточно просто выйти из системы.

Если же вы редактировали файл .bashrc, то есть два способа вернуться к настройкам по умолчанию:

Способ №2: Восстановите настройки из резервной копии, введя:

Заключение

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

Поделиться в социальных сетях:

Базовые команды в Linux для начинающих

Добавить комментарий Отменить ответ

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *