Вопрос или проблема
Я недавно перешел на Linux на своем компьютере, и мой терминал bash выглядит скучно. Я настроил переменную PS1 в .bashrc, но это не помогло. Я хочу установить более интересный запрос, например, такой:
Привет <Имя пользователя>: <ввод команды здесь>
Вы находитесь в <текущей папке> на <компьютере>
Возможно ли вывести ввод на первой строке и текст на второй строке? Если да, то как?
Ответ или решение
Для создания многострочного приглашения в терминале Bash, которое отображается в переменной PS1, вы можете воспользоваться специальными управляющими последовательностями. Ваша цель заключается в том, чтобы сделать так, чтобы строка ввода отображалась на первой строке, а дополнительный текст — на второй. Давайте разберем, как этого добиться.
Шаги для настройки PS1:
-
Открытие файла .bashrc: Для начала откройте файл конфигурации вашего терминала .bashrc. Это можно сделать с помощью текстового редактора, например, nano или vim. Выполните следующую команду:
nano ~/.bashrc
-
Редактирование переменной PS1: Найдите строку, которая начинается с
PS1=
, или добавьте новую строку, если ее нет. В вашем случае мы будем использовать следующие управляющие последовательности:\u
– имя пользователя.\w
– текущий рабочий каталог.\h
– имя хоста.\n
– перевод строки (чтобы вы могли разделить текст на две строки).\[
и\]
— используются для обрамления управляющих последовательностей, которые не занимают места на экране (например, цвет).
-
Составление вашей строки PS1: Мы можем написать что-то вроде этого:
PS1="Hello \u: \nYou are in \w on \h\n\$ "
В этом примере:
Hello \u:
— выводит приветствие с именем пользователя.\n
— переводит курсор на следующую строку.You are in \w on \h
— выводит текущий каталог и имя хоста.- Последняя строка включает символ
$
, который указывает на ввод команды.
-
Сохранение и выход: После того как вы внесли изменения, сохраните файл и выйдите из редактора. В редакторе nano это делается с помощью сочетания клавиш
CTRL + X
, затемY
для подтверждения сохранения иEnter
для выхода. -
Применение изменений: Чтобы изменения вступили в силу, необходимо перезагрузить конфигурацию bash. Для этого выполните следующую команду:
source ~/.bashrc
Пример конечного результата:
Теперь ваше приглашение должно выглядеть следующим образом:
Hello <Username>:
You are in <current folder> on <computer>
$
Где <Username>
, <current folder>
, и <computer>
будут заменены на актуальные значения в вашей системе.
Заключение
Настройка PS1 в Bash не только придаст вашему терминалу индивидуальность, но и улучшит удобство работы за счет интуитивного отображения информации. Теперь вы готовы к работе в системе Linux с новомодным и функциональным приглашением командной строки.