Як налаштувати (і розфарбувати) підказку про Bash

May 18, 2025
Технічне обслуговування та оптимізація
НЕЗАГОТОВЛЕНИЙ ЗМІСТ

Більшість дистрибутивів Linux налаштовують підказку Bash приблизно так username @ hostname: каталог $ . Але ви можете налаштувати підказку Bash, щоб вона містила все, що вам подобається, і навіть вибирати будь-які кольори, які вам подобаються.

Приклади цих кроків були виконані на Ubuntu 16.04 LTS. Процес повинен бути однаковим у інших дистрибутивах Linux, хоча за замовчуванням запит Bash та налаштування у файлі .bashrc можуть дещо відрізнятися.

Де зберігається оперативна змінна

Ваша конфігурація запиту Bash зберігається у файлі .bashrc вашого облікового запису користувача, який знаходиться за адресою ~ / .bashrc . Отже, якщо ваше ім’я користувача bob, файл знаходиться на /home/bob/.bashrc .

Ви можете відкрити файл, щоб переглянути поточну змінну Bash. Ми використовуватимемо nano як наш приклад текстового редактора, хоча ви можете також використовувати ми , emacs або будь-який інший текстовий редактор, який вам подобається. Відкрийте термінал і запустіть:

нано ~ / .bashrc

Прокрутіть вниз до Ψ1 = розділ. Перша змінна виглядає досить складною, оскільки вона включає інформацію про колір - ми пояснимо це пізніше. Друга змінна без інформації про колір читається наступним чином:

$ {debian_chroot:+($debian_chroot)} \ u @ \ h: \ w \ $

Це все ще трохи ускладнено через ${debian_chroot:+($debian_chroot)} біти. Вони просто кажуть Bash повідомити вас, якщо ви використовуєте середовище chroot Debian і зазвичай не відображається. Ігноруючи їх, ось структура за замовчуванням змінної Bash:

\ u @ \ h: \ w \ $

\ u вказує ваше ім'я користувача, @ позначає знак @, \ год вказує ім'я хоста (ім'я комп'ютера), : позначає символ: \ in позначає робочий каталог, а \$ вказує $, якщо ви звичайний обліковий запис користувача, або #, якщо ви root. Отже, склавши все це разом, ви отримуєте ім'я користувача @ ім'я хосту: working_directory $ .

Щоб змінити підказку Bash, вам просто потрібно додати, видалити або переставити спеціальні символи у змінній PS1. Але є набагато більше змінних, які ви можете використовувати, ніж типові.

Наразі залиште текстовий редактор - для виходу в nano натисніть Ctrl + X. Ми покажемо вам, як експериментувати зі змінними, перш ніж фактично записати нову у ваш файл .bashrc.

Як створити власний підказку

Ваша конфігурація підказки Bash зберігається у змінній PS1. Щоб зберегти вміст змінної PS1 у нову змінну, виконайте таку команду:

ЗАВДАННЯ = $ PS1

Тепер ви можете встановити для змінної PS1 різні значення для експерименту. Наприклад, перший рядок тут встановить для вашого підказки базовий підказку “user $”, а другий - для базової підказки “user: working_directory $”.

PS1 = "\ u \ $"

PS1 = "\ u: \ w \ $"

Якщо ви коли-небудь захочете повернутися до свого запиту за замовчуванням, просто запустіть таку команду.

PS1 = $ ЗА замовчуванням

Програма Bash буде відновлена ​​до запрошення за замовчуванням завдяки тому, що ви зберегли ці налаштування за замовчуванням раніше. Зверніть увагу, що будь-які внесені вами зміни є лише тимчасовими для поточного сеансу Bash, тому ви завжди можете вийти та ввійти знову або закрити та знову відкрити вікно терміналу, щоб повернутися до вашого запиту за замовчуванням. Але наведений вище рядок дозволяє легко повернутися до вашого запиту Bash за замовчуванням без клопоту щодо виходу або закриття вікна.

Ви можете додати будь-які символи або текст до змінної. Отже, щоб додати до запиту за замовчуванням префікс “Hello World”, ви можете використовувати:

PS1 = "Привіт Світ \ u @ \ h: \ w \ $"

Тепер, коли ви вже знайшли основи, вам просто потрібно знати, які всі спеціальні символи. Напевно, ви не будете дбати про багато з них, але ось повний список, як він з’являється керівництво Bash :

  • Персонаж дзвоника: \ a
  • Дата у форматі "Дата неділі в місяці" (наприклад, "Вівторок, 26 травня"): \ d
  • Формат передається strftime (3), а результат вставляється в рядок підказки; порожній формат призводить до представлення часу для конкретної мови. Потрібні брекети: \ D{format}
  • Персонаж втечі: \ є
  • Ім'я хоста, до першого ".": \ год
  • Ім'я хоста: \ H
  • Кількість завдань, якими зараз керує оболонка: \ j
  • Базове ім'я термінального пристрою оболонки: \ l
  • Новий рядок: \ n
  • Повернення каретки: \ r
  • Ім'я оболонки, базове ім'я $ 0 (частина після остаточної риски): \ s
  • Час, у 24-годинному HH: MM: SS формат: \ t
  • Час, у 12-годинному HH: MM: SS формат: \ T
  • Час у 12-годинному форматі ранку / вечора: \@
  • Час у 24-годинному форматі HH: MM \ A
  • Ім'я користувача поточного користувача: \ u
  • Версія Bash (наприклад, 2.00): ев
  • Випуск Bash, версія + рівень патчів (наприклад, 2.00.0): ЕВ
  • Поточний робочий каталог із $ HOME скороченим тильдою (використовує змінну $ PROMPT_DIRTRIM): \ in
  • Базова назва $ PWD, а $ HOME скорочено тильдою: \ IN
  • Номер історії цієї команди: \!
  • Номер команди цієї команди: \#
  • Якщо ефективна uid дорівнює 0, #, інакше $: \$
  • Символ, кодом ASCII є вісімкове значення nnn: \ nnn
  • Зворотний слеш: \\
  • Почніть послідовність недрукованих символів. Це може бути використано для вбудування послідовності керування терміналом у підказку: \[
  • Закінчити послідовність недрукованих символів: \]

Отже, якщо ви хочете додати дату та час до вашого підказки Bash і поставити робочий каталог за командою на другий рядок, ви можете використовувати таку конструкцію:

PS1 = "[\d \t] \ u @ \ h \ n \ w \ $"

Квадратні дужки тут зовсім не потрібні, але допомагають візуально розбити речі та полегшити читання рядка. Як ми вже розглядали раніше, ви можете додати будь-який текст або звичайні символи до змінної, яка вам подобається, тому сміливо використовуйте те, що вам підходить.

Є ще одна потужна хитрість, про яку ви повинні знати: Ви можете додати результат будь-якої команди до підказки. Щоразу, коли з’являється підказка, Bash запускає команду та заповнює поточну інформацію. Для цього просто додайте будь-яку команду, яку потрібно виконати між двома ` символів. Це не апостроф - це серйозний акцент, який з’являється над клавішею Tab на клавіатурі.

Наприклад, скажімо, ви хочете переглянути версію ядра Linux у запиті. Ви можете використовувати такий рядок, як показано нижче:

PS1 = "\ u @ \ h на` ім'я -s -r` \ w \ $ "

В якості іншого прикладу, скажімо, ви хочете переглянути середній час роботи та завантаження системи, як відображається час безвідмовної роботи команди. Ви можете використовувати наступну конструкцію, яка ставить час безвідмовної роботи на власний рядок перед рештою запиту.

PS1 = "(час роботи) \ n \ u @ \ h: \ w $"

Не соромтеся експериментувати з різними спеціальними символами та командами, щоб зібрати ідеальний командний рядок.

Як додати кольори до запиту Bash

Визначивши бажаний підказку, ви можете додати до нього кольори. Це насправді дуже просто, але це робить змінну виглядати жахливо безладною та складною, якщо ви не розумієте, на що дивитесь.

Наприклад, за замовчуванням змінна кольорового підказки від попередньої:

{debian_chroot:+($debian_chroot)} $ \ [\033[01;32m\] \ u @ \ h \ [\033[00m\]: \ [\033[01;34m\] \ w \ [\033[00m\] \ $

Або ще раз видаліть біти debian_chroot:

\ [\033[01;32m\] \ u @ \ h \ [\033[00m\]: \ [\033[01;34m\] \ w \ [\033[00m\] \ $

Це насправді просто \ u @ \ h: \ w $ змінна від попередньої, але з інформацією про колір. Справді, ми можемо розбити його на кілька розділів:

\[\033[01;32m\]\ u @ \ h\[\033[00m\]:\[\033[01;34m\]\ in\[\033[00m\]\$

Перший розділ - \ u @ \ h біт, якому передує інформація про колір, яка робить його зеленим. Другий - це : символу, якому передує інформація про колір, яка видаляє будь-яке забарвлення. Третім є \ in біт, якому передує інформація про колір, яка стає синьою. Четвертим є \$ біт, якому передує інформація про колір, яка видаляє будь-яке забарвлення.

Як тільки ви зрозумієте, як створювати власні теги кольорів, ви можете додавати будь-які кольори, які вам подобаються, до будь-яких розділів вашого підказки Bash, які вам подобаються.

Ось що вам потрібно знати: Ви повинні включити всю інформацію про кольоровий код між значком \[ і \] символ s. Усередині тегу ви повинні починати з будь-якого \033[ або \ є [ щоб вказати Башу, що це інформація про колір. І те, і інше \033[ і \ є [ робити те саме. \ є [ коротше, тому може бути зручнішим у використанні, але ми будемо використовувати \033[ тут відповідає тому, що використовується за замовчуванням. У кінці тегу ви повинні закінчити з м \ для позначення кінця кольорової позначки.

Порушивши це, ось як виглядатиме кожен кольоровий тег. Єдина відмінність - інформація, яку ви додаєте замість COLOR для визначення фактичного кольору:

\[\033[КОЛІРм \]

Bash дозволяє змінити колір тексту переднього плану, додати до тексту такі атрибути, як «жирний» або «підкреслений», і встановити колір фону.

Ось значення для тексту переднього плану:

  • Чорний: 30
  • Синій: 34
  • Блакитний: 36
  • Зелений: 32
  • Фіолетовий: 35
  • Червоний: 31
  • Білий: 37
  • Жовтий: 33

Наприклад, оскільки фіолетовий текст - це кольоровий код 32, ви б використали \[\033[ 32 м \] для фіолетового тексту.

Ви також можете вказати атрибут тексту. Цей атрибут повинен бути доданий перед номером кольору, розділений крапкою з комою (;). Текст із цими атрибутами буде виглядати по-різному в різних емуляторах терміналів.

Ось значення для текстових атрибутів:

  • Звичайний текст: 0
  • Жирний або світлий текст: 1 (Це залежить від емулятора терміналу.)
  • Тьмяний текст: 2
  • Підкреслений текст: 4
  • Блимаючий текст: 5 (Це не працює в більшості емуляторів терміналів.)
  • Зворотний текст: 7 (Це інвертує кольори переднього та заднього планів, тому ви побачите чорний текст на білому тлі, якщо поточним текстом є білий текст на чорному тлі.)
  • Прихований текст: 8

Насправді вам не потрібно включати звичайний атрибут тексту. У будь-якому випадку це за замовчуванням.

Наприклад, оскільки червоний текст - це код 31, а жирний - код 1, ви б використали \[\033[ 1;31 м \] для жирного червоного тексту.

Ви також можете вказати колір фону, але ви не можете додати атрибут до кольору фону.

Ось значення кольорів тла:

  • Чорний фон: 40
  • Синій фон: 44
  • Блакитний фон: 46
  • Зелений фон: 42
  • Фіолетовий фон: 45
  • Червоний фон: 41
  • Білий фон: 47
  • Жовтий фон: 43

Наприклад, оскільки синій фон - це код 44, \[\033[ 44 м \] вказав би синій фон.

Ви можете вказати як кольори переднього плану, так і кольори фону. Наприклад, 42 позначає зелений фон, а 31 - червоний текст. Отже, щоб підказка за замовчуванням стала червоним текстом на зеленому тлі, ви б використали:

Ψ1 = "\ [\ 033 [42м \] \ [\ 033 [31m \] \ u @ \ h: \ w \ $ "

Ми просто вказуємо один колір фону, а потім один колір тексту переднього плану, який починається на початку підказки і застосовується до всього тексту в підказці. Однак ви можете вказати скільки завгодно кольорових тегів у змінній, щоб забарвити різні розділи вашого запиту, як вам подобається.

Кольори тексту фону та переднього плану продовжують проходити повз підказки, якщо ви не вкажете колірний код 00, не очистите інформацію про колір. Ви також можете використовувати цей тег у змінній, щоб повернути форматування до типового десь у вашому запиті. Наприклад, наступний рядок закінчує всі забарвлення перед символом \$ характер.

Ψ1 = "\ [\ 033 [42м \] \ [\ 033 [31m \] \ u @ \ h: \ w \\ [\ 033 [00м \] \ $ "

Як встановити новий запит за замовчуванням

Закінчивши експериментувати з кольорами, у вас має з’явитися підказка Bash, яка вам подобається в поточному сеансі. Але ви, мабуть, хочете зробити цей новий запит постійним, щоб він автоматично використовувався у всіх ваших сеансах Bash.

Для цього вам просто потрібно змінити вміст змінної PS1 у файлі .bashrc, який ми розглядали раніше.

Відкрийте файл .bashrc у потрібному текстовому редакторі приблизно так:

нано ~ / .bashrc

Прокрутіть вниз і знайдіть розділ PS1 =. Просто замініть змінну за замовчуванням на вашу індивідуальну змінну. Ви, мабуть, захочете залишити ${debian_chroot:+($debian_chroot)} однак біти - вони все одно не з’являться, якщо ви не знаходитесь у chroot-середовищі.

Введіть кольорову змінну PS1 під якщо [ "$color_prompt" = yes ]; тоді лінія. Введіть змінну без кольорів під ще лінія.

Збережіть файл і закрийте текстовий редактор. Наприклад, щоб зберегти файл у форматі nano, натисніть Ctrl + O, натисніть Enter, а потім натисніть Ctrl + X, щоб вийти.

Наступного разу, коли ви запустите нову оболонку Bash - наприклад, увійшовши в термінал або відкривши нове вікно терміналу, ви побачите своє налаштоване підказку.

How To Customize (and Colorize) Your Bash Prompt

Customize The Bash Prompt

How To Customize Your Bash Prompt ($PS1) [Linux]

How To Customize Your Bash Terminal Prompt

Customize & Colorize Your Bash Prompt/Terminal

Customize Your Bash Prompt With Escape Sequences

How To Change The Terminal Prompt (MacOS Zsh)

Change Terminal Prompt Color! (Linux Mint & Ubuntu) EASY!

Linux Tip | How To Customize Your BASH Environment

Customizing Your Terminal | Linux Terminal With Fancy Bash Prompt | Linux Terminal Beautification

How To Customize Your Terminal | Bashrc File | Colors & Display Prompt

Linux Terminal Love - Tips & Tricks #6 - Customise Terminal Bash Prompt


Технічне обслуговування та оптимізація - Найпопулярніші статті

Чому піктограми настільних комп’ютерів на моєму Mac говорять „Немає місця”?

Технічне обслуговування та оптимізація Oct 10, 2025

Якщо у вас новий Mac, можливо, ви помітили слова “Немає місця” під багатьма значками та документами ..


Що станеться, якщо мій розумний термостат перестане працювати?

Технічне обслуговування та оптимізація Feb 4, 2025

Багато людей можуть почуватись насторожено, встановлюючи розумний термостат у своєму будинку, вра..


Яка різниця між швидким та повним форматом?

Технічне обслуговування та оптимізація Jan 23, 2025

Обидва типи форматування допоможуть вам налаштувати нову операційну систему, але чи одна версія ф�..


Як видалити вбудовані плани живлення Windows 7 (і чому ви, мабуть, не повинні)

Технічне обслуговування та оптимізація May 4, 2025

Ви насправді використовуєте функції керування живленням Windows 7? Якщо так, чи хотіли ви коли-небудь просто..


Замініть сторінку нової вкладки Google Chrome на швидкий набір

Технічне обслуговування та оптимізація Dec 8, 2024

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Шукаєте хорошу альтернативу сторінці нової вкладки в Google Chrome? Тоді ви точно захоч..


Увімкніть та керуйте меню "Надіслати Windows" за допомогою функції "Надіслати іграшки"

Технічне обслуговування та оптимізація Nov 7, 2024

НЕЗАГОТОВЛЕНИЙ ЗМІСТ Один з наших читачів писав трохи раніше, запитуючи, чому ми не пропонували утиліт�..


Додайте очищення диска до меню правої кнопки миші для диска

Технічне обслуговування та оптимізація Oct 21, 2025

Злом реєстру для цієї статті надійшов до нас люб’язно jd2066 , один з наших корисних учасників..


Повторно увімкніть режим глибокого сну в Windows Vista

Технічне обслуговування та оптимізація Jan 1, 2025

Якщо ви виявили, що параметр Hibernate відсутній у Windows Vista, можливо, це запуск майстра очищення диска та видал..


Категорії