username@hostname:directory$
Но вы можете настроить приглашение Bash, чтобы содержать все, что вам нравится, и даже выбирать любые цвета, которые вам нравятся.
Примеры шагов здесь были выполнены на Ubuntu 16.04 LTS. В других дистрибутивах Linux этот процесс должен быть одинаковым, хотя приглашение Bash по умолчанию и настройки в файле.bashrc могут быть немного разными.
Где хранится переменная запроса
Конфигурация приглашения Bash хранится в файле.bashrc вашей учетной записи пользователя, который находится в
~/.bashrc
Итак, если ваше имя пользователя - bob, файл находится на
/home/bob/.bashrc
Вы можете открыть файл, чтобы просмотреть текущую переменную Bash. Мы будем использовать nano в качестве нашего текстового редактора, хотя вы также можете использовать vi, emacs или любой другой текстовый редактор, с которым вам удобно. Откройте терминал и запустите:
nano ~/.bashrc
PS1=
раздел. Первая переменная выглядит довольно сложной, поскольку она включает в себя информацию о цвете - мы объясним это позже. Вторая переменная без информации о цвете читается следующим образом:
${debian_chroot:+($debian_chroot)}u@h:w$
${debian_chroot:+($debian_chroot)}
биты. Они просто говорят Bash, чтобы вы знали, используете ли вы среду chroot Debian и обычно не показываетесь. Игнорируя это, вот структура по умолчанию переменной запроса Bash:
u@h:w$
u
указывает ваше имя пользователя,
@
указывает знак @,
h
указывает имя хоста (имя компьютера),
:
указывает символ:
w
указывает рабочий каталог и
$
указывает $, если вы обычная учетная запись пользователя или #, если вы являетесь пользователем root. Итак, положив это все вместе, вы получите
username@hostname:working_directory$
Чтобы изменить приглашение Bash, вам просто нужно добавить, удалить или переупорядочить специальные символы в переменной PS1. Но есть много других переменных, которые вы можете использовать, чем стандартные.
Оставьте текстовый редактор для nano, нажмите Ctrl + X, чтобы выйти. Мы покажем вам, как экспериментировать с переменными, прежде чем писать новый в ваш.bashrc-файл.
Как создать пользовательскую подсказку Bash
Конфигурация приглашения Bash хранится в переменной PS1. Чтобы сохранить содержимое переменной PS1 в новой переменной, выполните следующую команду:
DEFAULT=$PS1
Теперь вы можете установить переменную PS1 для разных значений для экспериментов. Например, первая строка здесь установит ваше приглашение на базовое приглашение пользователя «$», в то время как второе задает приглашение базовому запросу «user: working_directory $».
PS1='u$ ' PS1='u:w$ '
Если вы хотите вернуться к приглашению по умолчанию, просто запустите следующую команду.
PS1=$DEFAULT
Bash будет восстановлен по умолчанию, так как вы сохранили эти настройки по умолчанию ранее. Обратите внимание, что любые изменения, которые вы делаете здесь, являются временными только для текущего сеанса Bash, поэтому вы можете всегда выходить из системы и подписываться обратно или закрывать и снова открывать окно терминала, чтобы вернуться к приглашению по умолчанию. Но вышеприведенная строка позволяет легко вернуться к заданию по умолчанию Bash без хлопот о выводе или закрытии окна.
PS1='Hello World u@h:w$ '
-
Символ колокола:
a
-
Дата в формате «День недели месяца» (например, «Вт май 26»):
d
-
Формат передается в strftime (3), и результат вставляется в строку приглашения; пустой формат приводит к представлению времени, специфичному для локали. Необходимы фигурные скобки:
D{format}
-
Управляющий символ:
e
-
Имя хоста, до первого '.':
h
-
Имя хоста:
H
-
Количество рабочих мест, которыми в настоящее время управляет оболочка:
j
-
Базовое имя терминального устройства оболочки:
l
- Новая строка:
- Возврат каретки:
-
Имя оболочки, базовое имя $ 0 (часть, следующая за последней косой чертой):
s
-
Время в 24-часовом формате ЧЧ: ММ: СС:
-
Время в 12-часовом формате ЧЧ: ММ: СС:
T
-
Время, в 12-часовом формате am / pm:
@
-
Время в 24-часовом формате ЧЧ: ММ:
A
-
Имя пользователя текущего пользователя:
u
-
Версия Bash (например, 2.00):
v
-
Выпуск Bash, версия + patchlevel (например, 2.00.0):
V
-
Текущий рабочий каталог с $ HOME сокращенно с тильдой (использует переменную $ PROMPT_DIRTRIM):
w
-
Базисное имя $ PWD, с $ HOME сокращенно с тильдой:
W
-
Номер истории этой команды:
!
-
Номер команды этой команды:
#
-
Если эффективный uid равен 0, #, в противном случае $:
$
-
Символ, код которого ASCII является восьмеричным значением nnn:
nn
-
Обратная косая черта:
-
Начните последовательность непечатаемых символов. Это можно использовать для встраивания управляющей последовательности терминала в приглашение:
[
-
Завершить последовательность непечатаемых символов:
]
Итак, если вы хотите добавить дату и время к вашему приглашению Bash и поместить рабочий каталог во вторую строку, вы можете использовать следующую конструкцию:
PS1='[d ] u@h
w$ '
Квадратные скобки здесь вообще не нужны, но помогают визуально разглядеть вещи и облегчить чтение строки. Как мы рассмотрели ранее, вы можете добавить любой текст или нормальные символы к переменной, которая вам нравится, поэтому не стесняйтесь использовать все, что работает для вас.
`
персонажи. Это не апостроф - это серьезный акцент, который появляется над клавишей Tab на клавиатуре.
Например, предположим, что вы хотите просмотреть версию ядра Linux в приглашении. Вы можете использовать следующую строку:
PS1='u@h on `uname -s -r` w$ '
uptime
команда. Вы можете использовать следующую конструкцию, которая помещает время безотказной работы в свою линию до остальной части подсказки.
PS1='(`uptime`)
u@h:w$ '
Как добавить цвета в вашу подсказку Bash
После того, как вы выберете свое предпочтительное приглашение, вы можете добавить в него цвета. Это на самом деле очень просто, но при этом переменная выглядит ужасно грязной и сложной, если вы не понимаете, на что вы смотрите.
Например, переменная запроса цвета по умолчанию из ранее была:
${debian_chroot:+($debian_chroot)}[