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

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

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

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

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

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

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

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

PS1=”\u@\h:\w$”

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

echo $PS1\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[3[01;32m\]\u@\h\[3[00m\]:\[3[01;34m\]\w\[3[00m\]$

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

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

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

export PS1=”\u@\w:”

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

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

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

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

ОбозначениеОписание
\aASCII-символ bell (07)
\dДата в формате «День недели Месяц Дата» (например, «Пн Ноя 26»)
\D{format}Значение format передается функции strftime. В строку приглашения подставляется результат выполнения функции. Фигурные скобки обязательны.
\eASCII-символ escape (033)
\hHostname (имя хоста) до первого символа точка «.».
\HHostname (имя хоста, компьютера).
\jКоличество фоновых процессов, запущенных в данной оболочке
\lБазовое название оболочки.
Переход на новую строку.
\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, $ для обычных пользователей).
nСимвол, соответствующий восьмеричному значению nnn.
\\Символ обратной косой черты «\».
\[Начало последовательности непечатаемых символов.
\]Конец последовательности.

Пример 1

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

PS1=”>”

Пример 2

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

PS1=”\A \u@\w$”

Пример 3

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

PS1=”\d:\u:\w\!>”

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

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

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

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

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

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

export PS1=”\e[0;36m\u@\h \W$ \e[m”

Цвета задаются числами. Можно задавать парой 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 — моргание.

Источник: https://pingvinus.ru/note/bash-promt

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

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

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

Вид приглашения командной строки Bash определяется переменной PS1. Его можно просмотреть как любую другую переменную окружения:

echo $PS1

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

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

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

nano ~/.bashrc

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

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

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

source ~/.bashrc

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

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

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

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

Используется следующий синтаксис:

e[X;YmРАСКРАШИВАЕМАЯ_СТРОКАe[m

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

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

export PS1=”e[0;36mu@h W$ e[m”

Цвета задаются числами. Можно задавать парой 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 — моргание.

Список возможных настроек приглашения

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

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

ОбозначениеОписание
\aASCII-символ bell (07)
\dДата в формате «День недели Месяц Дата» (например, «Пн Ноя 26»)
\D{format}Значение format передается функции strftime. В строку приглашения подставляется результат выполнения функции. Фигурные скобки обязательны.
\eASCII-символ escape (033)
\hHostname (имя хоста) до первого символа точка ..
\HHostname (имя хоста, компьютера).
\jКоличество фоновых процессов, запущенных в данной оболочке
\lБазовое название оболочки.
Переход на новую строку.
\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, $ для обычных пользователей).
nСимвол, соответствующий восьмеричному значению nnn.
\\Символ обратной косой черты \.
\[Начало последовательности непечатаемых символов.
\]Конец последовательности.

Источник: https://www.zencod.ru/articles/prompt-string-bash

prompt

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

  • 07/11/2018
  • Чтение занимает 2 мин
    • e
    • o

Изменяет Cmd.exe командной строки, включая отображение любого нужного текста, например имя текущего каталога, дату и время или номер версии Microsoft Windows.Changes the Cmd.

exe command prompt, including displaying any text you want, such as the name of the current directory, the time and date, or the Microsoft Windows version number.

При использовании без параметров эта команда сбрасывает командную строку до значения по умолчанию, которое представляет собой текущую букву диска и каталог, за которыми следует символ “больше чем” ( > ).

If used without parameters, this command resets the command prompt to the default setting, which is the current drive letter and directory followed by the greater than symbol (>).

ПараметрыParameters

ПараметрParameterОписаниеDescription
Задает текст и сведения, которые необходимо включить в командную строку.Specifies the text and information that you want to include in the command prompt.
/?/?Отображение справки в командной строке.Displays help at the command prompt.
  • Сочетания символов, которые можно включить вместо или в дополнение к одной или нескольким символьным строкам в текстовом параметре:The character combinations you can include instead of, or in addition to, one or more character strings in the text parameter:
    СимволCharacterОписаниеDescription
    $q$q= (Знак равенства)= (Equal sign)
    $$$ (Знак доллара)$ (Dollar sign)
    $t$tТекущее времяCurrent time
    $d$dТекущая датаCurrent date
    $p$pТекущий диск и путьCurrent drive and path
    $v$vНомер версии WindowsWindows version number
    $n$nТекущий дискCurrent drive
    $g$g> (больше чем знак)> (Greater than sign)
    $l$l< (знак "меньше")< (Less than sign)
    $b$b| (Символ вертикальной черты)| (Pipe symbol)
    $$ВВОД-ПЕРЕВОД СТРОКИENTER-LINEFEED
    $e$eEscape-код ANSI (код 27)ANSI escape code (code 27)
    $h$hBackspace (для удаления символа, записанного в командную строку)Backspace (to delete a character that has been written to the command line)
    $a$a& (амперсанд)& (Ampersand)
    $c$c((Левая круглая скобка)( (Left parenthesis)
    $f$f) (Правая круглая скобка)) (Right parenthesis)
    $s$sПробелSpace
  • Если расширения команд включены, команда Prompt поддерживает следующие символы форматирования:When command extensions are enabled the prompt command supports the following formatting characters:
    СимволCharacterОписаниеDescription
    $+Ноль или более символов плюса ( + ) в зависимости от глубины стека pushd Directory (по одному символу для каждого уровня).Zero or more plus sign (+) characters, depending on the depth of the pushd directory stack (one character for each level pushed).
    $m$mУдаленное имя, связанное с текущей буквой диска или пустой строкой, если текущий диск не является сетевым диском.The remote name associated with the current drive letter or the empty string if current drive is not a network drive.
  • Если включить $p символ в текстовый параметр, диск считывается после ввода каждой команды (для определения текущего диска и пути).If you include the $p character in the text parameter, your disk is read after you enter each command (to determine the current drive and path). Это может занять некоторое время, особенно для дисководов гибких дисков.This can take extra time, especially for floppy disk drives.

ПримерыExamples

Чтобы установить в командной строке с двумя строками текущее время и дату в первой строке и знак “больше чем” на следующей строке, введите:To set a two-line command prompt with the current time and date on the first line and the greater than sign on the next line, type:

prompt $d$s$s$t$_$g

Запрос изменится следующим образом, где Дата и время будут актуальными:The prompt is changed as follows, where the date and time are current:

Fri 06/01/2007 13:53:28.91 Чтобы настроить командную строку для вывода в виде стрелки ( –> ), введите:To set the command prompt to display as an arrow (–>), type:
prompt –$g

Чтобы вручную изменить командную строку на значение по умолчанию (текущий диск и путь, за которым следует знак “больше чем”), введите:To manually change the command prompt to the default setting (the current drive and path followed by the greater than sign), type:

prompt $p$g

Дополнительные ссылкиAdditional References

Отправить и просмотреть отзыв по

Этот продукт Эта страница Просмотреть все отзывы по странице

Источник: https://docs.microsoft.com/ru-ru/windows-server/administration/windows-commands/prompt

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

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

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

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

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

echo $PS1

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

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$

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

export PS1='\u@\w : '

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

user@~ :

Другим методом изменения данных переменных является задание из в конце файла ~/.bashrc. Это делается таким образом:

PS1 = “\u@\w : “

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

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

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

\[\е[#;##m\]

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

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

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

Номера цветов:

ЦветТекстФон
Черный3040
Красный3141
Зеленый3242
Желтый3343
Синий3444
Фиолетовый3545
Голубой3646
Белый3747

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

\[\e[1;37m\] \u: \[\e[0;37m\]

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

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

\[\е[#;##;#;##m\]

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

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

export PROMPT_COMMAND='ls'

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

Для более подробной информации вы можете воспользоваться справочным руководством:

man bash

Источник: https://blablacode.ru/linux/21

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

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

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.