Как настроить приглашение Bash в Linux
BASH (Bourne-Again Shell) — это оболочка по умолчанию для большинства современных дистрибутивов Linux. В этом руководстве мы собираемся настроить приглашение BASH и улучшить его внешний вид, добавив несколько цветов и стилей.
Конечно, существует множество плагинов/инструментов, позволяющих легко и быстро выполнить эту работу. Тем не менее, мы по-прежнему можем выполнять некоторые базовые настройки, такие как добавление, изменение элементов, изменение цвета переднего плана и фона и т. д., без необходимости устанавливать какие-либо дополнительные инструменты и плагины.
Настройка приглашения Bash в Linux
В BASH мы можем настроить и изменить приглашение BASH по своему усмотрению, изменив значение переменной среды PS1.
Обычно приглашение BASH выглядит примерно так:
Здесь sk — это имя пользователя, а ubuntuserver — имя хоста.
Теперь мы собираемся изменить это приглашение по своему усмотрению, вставив несколько специальных символов с обратной косой чертой, называемых Escape-последовательности.
Позвольте мне показать вам несколько примеров.
Прежде чем двигаться дальше, настоятельно рекомендуется создать резервную копию файла ~/.bashrc.
cp ~/.bashrc ~/.bashrc.bak
Измените часть «имя_пользователя@имя_хоста» в командной строке Bash.
Как я упоминал выше, в большинстве дистрибутивов Linux приглашение BASH по умолчанию содержит часть «имя_пользователя@имя_хоста». Вы можете изменить эту часть на что-то другое.
Для этого отредактируйте файл ~/.bashrc :
vi ~/.bashrc
Добавьте в конце следующую строку:
PS1="ostechnix> "
Замените «ostechnix» любыми буквами/словами по вашему выбору. После добавления нажмите клавишу ESC и введите :wq, чтобы сохранить файл и выйти из него.
Выполните следующую команду, чтобы обновить изменения:
source ~/.bashrc
Теперь в командной строке BASH будут буквы «ostechnix».
Вот еще один пример. Я собираюсь заменить часть «имя_пользователя@имя_хоста» на «Hello@welcome>».
Для этого добавьте следующую запись в файл ~./bashrc.
export PS1="Hello@welcome> "
Не забудьте обновить изменения с помощью команды «source ~./bashrc».
Вот результат моего приглашения BASH в Ubuntu 18.04 LTS.
Отображать только имя пользователя
Чтобы отобразить только имя пользователя, просто добавьте следующую строку в файл ~/.bashrc.
export PS1="\u "
Здесь \u — escape-последовательность.
Вот еще несколько значений, которые можно добавить в переменную PS1, чтобы изменить приглашение BASH. После добавления каждой записи вы должны запустить команду «source ~/.bashrc», чтобы изменения вступили в силу.
Добавить имя пользователя с именем хоста
export PS1="\u\h "
Ваше приглашение теперь будет выглядеть так:
skubuntuserver
Добавьте имя пользователя и полное доменное имя (полное доменное имя)
export PS1="\u\H "
Добавьте дополнительные символы между именем пользователя и именем хоста.
Если вы хотите использовать любую букву, например @, между именем пользователя и именем хоста, используйте следующую запись:
export PS1="\u@\h "
Приглашение bash будет выглядеть следующим образом:
sk@ubuntuserver
Добавьте имя пользователя с именем хоста с символом $в конце.
export PS1="\u@\h\\$ "
Добавьте специальные символы между и после имени пользователя и имени хоста.
export PS1="\u@\h> "
Эта запись изменит приглашение BASH, как показано ниже.
sk@ubuntuserver>
Аналогичным образом вы можете добавить другие специальные символы, такие как двоеточие, точка с запятой, *, подчеркивание, пробел и т. д.
Отображение имени пользователя, имени хоста, имени оболочки
export PS1="\u@\h>\s "
Отображение имени пользователя, имени хоста, оболочки и версии Bash.
export PS1="\u@\h>\s\v "
Вывод Bash:
Отображение имени пользователя, имени хоста и пути к текущему каталогу:
export PS1="\u@\h\w "
Вы увидите символ тильды (~), если текущий каталог — $HOME.
Отображение даты в командной строке BASH
Чтобы отображать дату с вашим именем пользователя и именем хоста в командной строке BASH, добавьте следующую запись в файл ~/.bashrc.
export PS1="\u@\h>\d "
Дата и время в 12-часовом формате в командной строке BASH.
export PS1="\u@\h>\d\@ "
Дата и время в 12-часовом формате чч:мм:сс.
export PS1="\u@\h>\d\T "
Дата и 24-часовое время
export PS1="\u@\h>\d\A "
Дата и 24-часовой формат чч:мм:сс.
export PS1="\u@\h>\d\t "
Это некоторые распространенные escape-последовательности для изменения формата приглашения Bash. Доступно еще несколько escape-последовательностей. Вы можете просмотреть их все на странице руководства bash в разделе ПРОМПТИНГ.
И вы можете просмотреть текущие настройки подсказки в любое время с помощью команды:
echo $PS1
Скрыть часть «имя_пользователя@имя_хоста» в командной строке Bash
Я не хочу ничего менять. Могу ли я вообще это скрыть? Да, ты можешь!
Если вы блоггер или технический писатель, есть вероятность, что вам придется загружать снимки экрана вашего терминала Linux на свои веб-сайты и в блоги. Ваше имя пользователя/имя хоста могут быть слишком крутыми, поэтому вы не захотите, чтобы другие копировали и использовали их как свои собственные. С другой стороны, ваше имя пользователя/имя хоста может быть слишком странным или слишком плохим или содержать оскорбительные символы, поэтому вы не хотите, чтобы другие их видели. В таких случаях этот небольшой совет может помочь вам скрыть или изменить часть «имя пользователя@имя хоста» в Терминале.
Если вы не хотите, чтобы пользователи могли просматривать часть вашего имени пользователя/имени хоста, просто следуйте инструкциям ниже.
Отредактируйте файл "~/.bashrc":
vi ~/.bashrc
Добавьте в конце следующее:
PS1="\W> "
Введите :wq, чтобы сохранить и закрыть файл.
Затем выполните следующую команду, чтобы изменения вступили в силу.
source ~/.bashrc
Вот и все. Теперь проверьте свой терминал. Вы не увидите часть username@localhost. Вы увидите только символ ~>.
Внимание! В некоторых случаях это плохая практика. Например, если другая оболочка, например zsh, унаследует вашу текущую оболочку, это вызовет некоторые проблемы. Используйте его только для сокрытия или изменения части username@localhost, если вы используете одну оболочку. Помимо сокрытия части username@localhost в Терминале, этот совет совершенно бесполезен и может быть проблематичным.
Хотите узнать еще один простой способ не испортить файл ~/.bashrc? Просто создайте еще одну учетную запись пользователя, например user@example или admin@demo. Используйте эти аккаунты для создания руководств и видеороликов и загружайте их в свой блог или в Интернет. Теперь вам нечего беспокоиться о своей личности.
Раскрасить приглашение BASH
На данный момент мы только что изменили/добавили некоторые элементы в приглашение BASH. В этом разделе мы собираемся добавить цвета элементам.
Вы можете улучшить цвет переднего плана (текста) и фона элементов приглашения BASH, добавив код в файл ~/.bashrc.
Например, чтобы изменить цвет переднего плана всего текста на красный, добавьте следующий код:
export PS1="\u@\[\e[31m\]\h\[\e[m\] "
После добавления обновите изменения с помощью команды:
Теперь приглашение BASH будет выглядеть следующим образом:
Аналогично, чтобы изменить цвет фона, добавьте этот код:
export PS1="\u@\[\e[31;46m\]\h\[\e[m\] "
Добавление смайлов
Кто не любит смайлы? Мы можем добавить смайлик, поместив следующий код в файл ~/.bashrc.
PS1="\W ? >"
Обратите внимание, что некоторые терминалы могут неправильно отображать смайлы в зависимости от используемого шрифта. Если у вас нет подходящих шрифтов, вы можете увидеть искаженные символы или монохромные смайлы.
Мне немного сложно настроить приглашение BASH. Есть ли другой простой способ?
Если вы новичок, написание и добавление значений PS1 будет запутанным и трудным. Кроме того, вам будет немного сложно расположить элементы так, чтобы получить желаемый результат. Не беспокойся! Доступен онлайн-генератор Bash PS1, который позволяет вам легко генерировать различные значения PS1 по вашему желанию.
Перейдите на следующий веб-сайт:
Просто выберите элементы, которые вы хотите использовать в командной строке BASH. Добавьте цвета к элементам и расположите их в любом порядке по своему вкусу. Мгновенно просмотрите результат и, наконец, скопируйте/вставьте полученный код в свой файл ~/.bashrc. Это так просто! Большинство примеров, упомянутых в этом руководстве, взяты с этого сайта. Как уже говорилось, не забудьте сделать резервную копию текущего файла ~/.bashrc перед внесением каких-либо изменений.
Рекомендуем прочитать:
- Как изменить приглашение Sudo в Linux
Я испортил свой файл .bashrc? Как вернуть настройки по умолчанию?
Как я упоминал ранее, настоятельно рекомендуется сделать резервную копию ~./bashrc (или любых важных файлов конфигурации в целом) перед внесением каких-либо изменений. Таким образом, вы сможете восстановить его до предыдущей рабочей версии, если что-то пошло не так. Однако, если вы вообще забыли сделать резервную копию файла ~/.bashrc, вы все равно можете восстановить его настройки по умолчанию, как описано в следующем руководстве.
- Как восстановить настройки файла .bashrc по умолчанию
Приведенное выше руководство основано на Ubuntu, но может быть применимо и к другим дистрибутивам Linux. Пожалуйста, дайте нам понять, что вышеупомянутое руководство поможет вам сбросить ~/.bashrc до настроек по умолчанию во время новой установки. Любые изменения, сделанные после этого, будут потеряны.
Ресурс:
- Справочное руководство по Bash