Как настроить Bash Prompt в Linux

BASH (Bourne-Again Shell) – это оболочка по умолчанию для большинства современных дистрибутивов Linux. Надоел старый скучный BASH-оболочка? Давайте его переделаем! В этом руководстве мы узнаем, как настроить интерпретатор BASH и улучшить его внешний вид, добавив некоторые цвета и стили.

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

Мы собираемся сделать некоторые базовые настройки, такие как добавление, изменение элементов, изменение цвета переднего плана и фона и т.д., без каких-либо дополнительных инструментов или плагинов.

В конце концов, ваш терминал будет выглядеть именно так, как вы хотите. Давайте вместе начнем настраивать ваш BASH-терминал!

Настройка Bash Prompt в Linux

В BASH вы можете настроить и изменить BASH приглашение так, как вам нужно, изменив значение PS1 переменной окружения.

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

Обычно BASH приглашение будет выглядеть примерно так:

Здесь, sk – это имя пользователя, а ubuntuserver – имя хоста.

Теперь мы собираемся изменить это приглашение Bash, вставив некоторые специальные символы с обратной косой чертой, называемые Escape Sequences.

Позвольте мне показать вам несколько примеров.

Всегда рекомендуется создавать резервные копии файла ~/.bashrc перед внесением в него каких-либо изменений.

cp ~/.bashrc ~/.bashrc.bak

Как я уже упоминал выше, в большинстве дистрибутивов Linux приглашение BASH по умолчанию содержит часть username@hostname. Вы можете изменить эту часть на что-то другое.

Для этого отредактируйте ~/.bashrc файл:

vi ~/.bashrc

Добавьте следующую строку в конце:

PS1="ostechnix>"

Замените «ostechnix» на любые буквы/слова по вашему выбору. После добавления нажмите клавишу ESC и введите :wq, чтобы сохранить и выйти из файла.

Для обновления изменений выполните следующую команду:

source ~/.bashrc

Сейчас в приглашении BASH будут буквы «ostechnix».

Вот еще один пример. Я собираюсь заменить часть username@hostname на Hello@welcome>.

Для этого добавьте следующую запись в файл ./bashrc.

export PS1="Hello@welcome>"

Обновите изменения, выполнив эту команду:

source ~./bashrc

Вот как выглядит моя BASH-запрограмма в системе Ubuntu после изменения значений по умолчанию.

Отображать только имя пользователя:

Чтобы отображать только имя пользователя, просто добавьте следующую строку в файл ~/.bashrc.

export PS1="\u "

Здесь \u – это управляющая последовательность.

Ниже приведены другие примеры значений, которые можно добавить в переменную PS1, чтобы изменить приглашение BASH. После добавления каждой записи необходимо выполнить команду source ~/.bashrc, чтобы изменения вступили в силу.

Добавьте имя пользователя и имя хоста

export PS1="\u\h "

Ваша подсказка теперь будет выглядеть следующим образом:

skubuntuserver

Добавьте имя пользователя и FQDN (полное доменное имя)

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 "

Это некоторые общие управляющие последовательности для изменения формата приглашения Bash. Существует еще несколько вариантов. Вы можете просмотреть их в bash man page в разделе «PROMPTING».

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

echo $PS1

Скрыть приглашение

Если вы блоггер или технический писатель, есть вероятность, что вам придется загружать скриншоты вашего терминала Linux на свои веб-сайты и блоги. Ваше имя пользователя/имя хоста может быть слишком крутым, поэтому вы не хотите, чтобы другие копировали и использовали их как свои собственные. С другой стороны, ваше имя пользователя/имя хоста может быть слишком странным, слишком плохим или содержать оскорбительные символы, поэтому вы не хотите, чтобы другие видели их. В таких случаях этот небольшой совет поможет вам скрыть или изменить часть username@hostname в Терминале.

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

Редактируйте ваш файл ~/.bashrc:

vi ~/.bashrc

Добавьте следующее в конце:

PS1="\W>"

Наберите :wq, чтобы сохранить и закрыть файл.

Затем выполните следующую команду, чтобы изменения вступили в силу.

source ~/.bashrc

Вот и все. Теперь проверьте свой Терминал. Вы не увидите часть username@localhost. Вы увидите только символ ~>.

Предупреждение: В некоторых случаях это плохая практика. Например, если другая оболочка, такая как zsh, наследует вашу текущую настройку, это вызовет некоторые проблемы. Используйте его только для скрытия или изменения части username@localhost, если вы используете одну оболочку. Кроме скрытия части username@localhost в Терминале, этот совет довольно бесполезен и может вызвать проблемы.

Раскрашиваем BASH Prompt

Все, что мы видели до сих пор, это то, что мы просто изменили и добавили некоторые элементы в BASH prompt. В этом разделе мы добавим цвета элементам BASH.

Вы можете изменить цвет переднего плана (текста) и фона элементов BASH, добавив некоторый код в файл ~/.bashrc.

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

export PS1="\u@\[\e[31m\]\h\[\e[m\] "

После добавления обновите изменения с помощью команды:

Сейчас ваша подсказка BASH будет выглядеть так:

Также, чтобы изменить цвет фона, добавьте этот код:

export PS1="\u@\[\e[31;46m\]\h\[\e[m\] "

Добавление эмодзи

Кто не любит эмодзи? Мы можем добавить эмодзи, поместив следующий код в файл ~/.bashrc.

PS1="\W ? >"

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

Online Bash Prompt Customizer

Если вы новичок, написание и добавление значений PS1 будет запутанным и немного сложным. Кроме того, вам будет сложно расставить элементы так, чтобы получить нужный результат. Не волнуйтесь! Существует онлайн генератор Bash PS1, который позволит вам легко генерировать различные значения PS1 по вашему желанию. Вот он – ezprompt.net

Просто выберите элементы, которые вы хотите использовать в BASH-запросе. Добавьте цвета к элементам и расположите их в любом удобном для вас порядке. Просматривайте результат мгновенно и, наконец, копируйте/вставляйте полученный код в свой файл ~/.bashrc. Это так просто! Большинство примеров, приведенных в этом руководстве, взяты с этого сайта. Как уже говорилось, не забудьте сделать резервную копию текущего файла ~/.bashrc перед внесением изменений .

Восстановление файла bashrc до настроек по умолчанию

Что делать если Вы испортили свой файл .bashrc? Как восстановить его до стандартных настроек? Просто удалите свой текущий файл и замените его на файл из резервной копии.

Зарубин Иван Эксперт по Linux и Windows

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

Вдохновлен ostechnix.com

Комментарии (0)