Jak přizpůsobit (a vybarvit) váš Bash Prompt

May 18, 2025
Údržba a optimalizace
NEBEZPEČNÝ OBSAH

Většina distribucí Linuxu konfiguruje výzvu Bash tak, aby vypadala podobně username @ hostname: adresář $ . Můžete však nakonfigurovat výzvu Bash tak, aby obsahovala vše, co se vám líbí, a dokonce si vybrat barvy, které se vám líbí.

Ukázkové kroky zde byly provedeny na Ubuntu 16.04 LTS. Proces by měl být stejný v ostatních distribucích Linuxu, i když výchozí výzva Bash a nastavení v souboru .bashrc se mohou trochu lišit.

Kde je proměnná výzvy uložena

Konfigurace výzvy Bash je uložena v souboru .bashrc vašeho uživatelského účtu, který je na ~ / .bashrc . Pokud je tedy vaše uživatelské jméno bob, soubor se nachází na /home/bob/.bashrc .

Soubor můžete otevřít a zobrazit aktuální proměnnou Bash. Jako ukázkový textový editor použijeme nano, i když můžete také použít my , emacs nebo jakýkoli jiný textový editor, který vám vyhovuje. Otevřete terminál a spusťte:

nano ~ / .bashrc

Přejděte dolů na ikonu Ψ1 = sekce. První proměnná vypadá dost komplikovaně, protože obsahuje informace o barvě - vysvětlíme to později. Druhá proměnná bez barevných informací zní takto:

900 000 $ \ u @ \ h: \ w \ $

To je stále trochu komplikované kvůli ${debian_chroot:+($debian_chroot)} bity. Tím pouze řeknete Bashovi, aby vás informoval, pokud používáte prostředí chrootů Debianu a obvykle se nezobrazí. Ignorujeme je, zde je výchozí struktura proměnné řádku Bash:

\ u @ \ h: \ w \ $

\ u označuje vaše uživatelské jméno, @ označuje znak @, \ h označuje název hostitele (název počítače), : označuje: znak, \v označuje pracovní adresář a \$ označuje $, pokud jste běžný uživatelský účet, nebo #, pokud jste root. Dáme-li to dohromady, dostanete username @ hostname: working_directory $ .

Chcete-li změnit výzvu Bash, stačí přidat, odebrat nebo změnit uspořádání speciálních znaků v proměnné PS1. Existuje ale mnohem více proměnných, které můžete použít, než ty výchozí.

Textový editor zatím nechejte - v nano ukončete stisknutím Ctrl + X. Ukážeme vám, jak experimentovat s proměnnými, než skutečně zapíšete novou do souboru .bashrc.

Jak vytvořit vlastní Bash výzvu

Vaše konfigurace výzvy Bash je uložena v proměnné PS1. Chcete-li uložit obsah proměnné PS1 do nové proměnné, spusťte následující příkaz:

VÝCHOZÍ = PS1 $

Nyní můžete nastavit proměnnou PS1 na různé hodnoty pro experimentování. Například první řádek by zde nastavil vaši výzvu na základní výzvu „user $“, zatímco druhý by nastavil vaši výzvu na základní výzvu „user: working_directory $“.

PS1 = "\ u \ $"

PS1 = "\ u: \ w \ $"

Pokud se někdy budete chtít vrátit na výchozí výzvu, spusťte následující příkaz.

PS1 = $ DEFAULT

Bash bude obnoven na výchozí výzvu díky tomu, že jste tato výchozí nastavení uložili dříve. Upozorňujeme, že všechny změny, které zde provedete, jsou pro aktuální relaci Bash pouze dočasné, takže se můžete kdykoli odhlásit a znovu přihlásit nebo zavřít a znovu otevřít okno terminálu a vrátit se zpět na výchozí výzvu. Výše uvedený řádek však umožňuje snadno se vrátit k vaší výchozí výzvě Bash bez potíží s odhlášením nebo zavřením okna.

Do proměnné můžete přidat libovolné znaky nebo text. Chcete-li tedy před výchozí výzvu zadat „Hello World“, můžete použít:

PS1 = "Hello World \ u @ \ h: \ w \ $"

Teď, když máte základní znalosti, stačí vědět, jaké jsou všechny speciální postavy. Pravděpodobně vás nebude zajímat mnoho z nich, ale zde je úplný seznam, jak je uveden v manuál Bash :

  • Znak zvonu: \A
  • Datum ve formátu „Datum v pracovní den v měsíci“ (např. „Út 26. května“): \ d
  • Formát je předán strftime (3) a výsledek je vložen do řetězce výzvy; prázdný formát vede k časové reprezentaci konkrétního národního prostředí. Šle jsou povinné: \ D{format}
  • Úniková postava: \je
  • Název hostitele, až po první znak „.“: \ h
  • Název hostitele: \ H
  • Počet úloh aktuálně spravovaných shellem: \ j
  • Základní název názvu koncového zařízení prostředí: \ l
  • Nový řádek: \ n
  • Návrat vozíku: \ r
  • Název shellu, základní jméno $ 0 (část za posledním lomítkem): \s
  • Čas ve 24hodinovém formátu HH: MM: SS: \ t
  • Čas ve 12hodinovém formátu HH: MM: SS: \ T
  • Čas ve 12hodinovém formátu am / pm: \@
  • Čas ve 24hodinovém formátu HH: MM: \A
  • Uživatelské jméno aktuálního uživatele: \ u
  • Verze Bash (např. 2.00): \v
  • Vydání Bash, verze + patchlevel (např. 2.00.0): \V
  • Aktuální pracovní adresář s $ HOME zkráceným vlnovkou (používá proměnnou $ PROMPT_DIRTRIM): \v
  • Základní jméno $ PWD, s $ HOME zkráceně vlnovkou: \V
  • Číslo historie tohoto příkazu: \!
  • Číslo příkazu tohoto příkazu: \#
  • Pokud je efektivní uid 0, #, jinak $: \$
  • Znak, jehož kód ASCII je osmičková hodnota nnn: \ nnn
  • Zpětné lomítko: \\
  • Začněte posloupnost netisknutelných znaků. To by mohlo být použito k vložení řídicí sekvence terminálu do výzvy: \[
  • Ukončení sekvence netisknutelných znaků: \]

Pokud jste tedy chtěli přidat datum a čas do příkazového řádku Bash a umístit pracovní adresář na příkaz na druhém řádku, můžete použít následující konstrukci:

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

Hranaté závorky zde nejsou vůbec nutné, ale pomáhají vizuálně rozdělit věci a usnadňují čtení řádku. Jak jsme již zmínili dříve, do proměnné, která se vám líbí, můžete přidat libovolný text nebo normální znaky, takže můžete použít cokoli, co vám vyhovuje.

Existuje ještě jeden mocnější trik, o kterém byste měli vědět: Do výzvy můžete přidat výstup libovolného příkazu. Kdykoli se zobrazí výzva, Bash spustí příkaz a vyplní aktuální informace. Chcete-li to provést, stačí zahrnout libovolný příkaz, který chcete spustit mezi dvěma ` znaky. To není apostrof - to je vážný přízvuk, který se objeví nad klávesou Tab na vaší klávesnici.

Řekněme například, že chcete ve výzvě zobrazit verzi jádra Linuxu. Můžete použít řádek, jako je následující:

PS1 = "\ u @ \ h na ʻuname -s -r` \ w \ $"

Jako další příklad řekněme, že chcete zobrazit průměrnou dobu provozuschopnosti a zatížení systému, jak je zobrazeno na provozuschopnost příkaz. Můžete použít následující konstrukci, která uptime na vlastní linku před zbytkem výzvy.

PS1 = "(ʻuptime`) \ n \ u @ \ h: \ w $"

Nebojte se experimentovat s různými speciálními znaky a příkazy a sestavit si ideální příkazový řádek.

Jak přidat barvy do výzvy Bash

Jakmile zjistíte preferovanou výzvu, můžete do ní přidat barvy. To je ve skutečnosti velmi jednoduché, ale proměnná vypadá strašně chaoticky a komplikovaně, pokud nerozumíte tomu, na co se díváte.

Například výchozí proměnná barevného řádku z předchozí verze byla:

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

Nebo opětovné odstranění bitů debian_chroot:

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

Toto je vlastně jen \ u @ \ h: \ w $ proměnná z dřívějších, ale s barevnými informacemi. Opravdu to můžeme rozdělit do několika částí:

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

První část je \ u @ \ h bit, kterému předchází informace o barvě, která jej změní na zelenou. Druhým je : znak, kterému předchází informace o barvě, která odstraní jakékoli zbarvení. Třetí je \v bit, kterému předchází informace o barvě, která jej změní na modrou. Čtvrtý je \$ bit, kterému předchází informace o barvě, která odstraní jakékoli zbarvení.

Jakmile pochopíte, jak vytvořit vlastní barevné značky, můžete přidat libovolné barvy, které se vám líbí, do libovolných sekcí vašeho Bash, které se vám líbí.

Co potřebujete vědět: Mezi údaje musíte zahrnout celou informaci o barevném kódu \[ a \] znak s. Uvnitř značky musíte začínat buď \033[ nebo \je[ označit Bashovi, že se jedná o barevnou informaci. Oba \033[ a \je[ udělat totéž. \je[ je kratší, takže může být pohodlnější použít, ale použijeme \033[ zde odpovídá tomu, co se používá ve výchozím nastavení. Na konci značky musíte skončit na m \ k označení konce barevné značky.

V následujícím přehledu bude vypadat každá barevná značka. Jediným rozdílem jsou informace, které přidáte místo BARVY k definování skutečné barvy:

\[\033[BARVAm \]

Bash umožňuje změnit barvu textu v popředí, přidat do textu atributy jako „tučné“ nebo „podtržené“ a nastavit barvu pozadí.

Zde jsou hodnoty pro text v popředí:

  • Černá: 30
  • Modrá: 34
  • Azurová: 36
  • Zelená: 32
  • Fialová: 35
  • Červená: 31
  • Bílá: 37
  • Žlutá: 33

Například protože fialový text je barevný kód 32, použili byste \[\033[ 32 m \] pro fialový text.

Můžete také zadat atribut pro text. Tento atribut musí být přidán před číslo barvy, oddělené středníkem (;). Text s těmito atributy bude vypadat odlišně v různých emulátorech terminálu.

Zde jsou hodnoty pro textové atributy:

  • Normální text: 0
  • Tučné nebo světlé texty: 1 (záleží na emulátoru terminálu.)
  • Ztlumený text: 2
  • Podtržený text: 4
  • Blikající text: 5 (Toto nefunguje ve většině terminálových emulátorů.)
  • Obrácený text: 7 (Tím se převrátí barvy popředí a pozadí, takže pokud je aktuální text bílý text na černém pozadí, uvidíte černý text na bílém pozadí.)
  • Skrytý text: 8

Ve skutečnosti nemusíte uvádět běžný textový atribut. To je každopádně výchozí.

Například protože červený text je kód 31 a tučný text je kód 1, použili byste \[\033[ 1;31 m \] pro tučně červený text.

Můžete také určit barvu pozadí, ale nemůžete přidat atribut barvy pozadí.

Zde jsou hodnoty barev pozadí:

  • Černé pozadí: 40
  • Modré pozadí: 44
  • Azurové pozadí: 46
  • Zelené pozadí: 42
  • Fialové pozadí: 45
  • Červené pozadí: 41
  • Bílé pozadí: 47
  • Žluté pozadí: 43

Například protože modré pozadí je kód 44, \[\033[ 44 m \] by určilo modré pozadí.

Můžete určit značky barvy popředí i pozadí. Například 42 představuje zelené pozadí a 31 představuje červený text. Chcete-li, aby se výchozí výzva stala červeným textem na zeleném pozadí, použijte:

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

Prostě zde zadáme jednu barvu pozadí a poté jednu barvu textu v popředí, která začíná na začátku výzvy a použije se na celý text ve výzvě. V proměnné však můžete zadat tolik barevných značek, kolik chcete, aby se různé části vaší výzvy vybarvily, jakkoli chcete.

Barvy pozadí a popředí pokračují kolem výzvy, pokud nezadáte barevný kód 00 a nevymažte informace o barvě. Tuto značku v proměnné můžete také použít k obnovení formátování zpět na výchozí hodnotu někde ve výzvě. Například následující řádek ukončí veškeré zbarvení před \$ charakter.

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

Jak nastavit novou výchozí výzvu

Po dokončení experimentu s barvami byste měli mít v aktuální relaci výzvu Bash, která se vám líbí. Pravděpodobně ale budete chtít tuto novou výzvu nastavit jako trvalou, aby se automaticky používala ve všech vašich relacích Bash.

Chcete-li to provést, stačí změnit obsah proměnné PS1 v souboru .bashrc, na který jsme se podívali dříve.

Otevřete soubor .bashrc v preferovaném textovém editoru, například:

nano ~ / .bashrc

Přejděte dolů a vyhledejte sekci PS1 =. Stačí nahradit výchozí proměnnou přizpůsobenou proměnnou. Pravděpodobně budete chtít opustit ${debian_chroot:+($debian_chroot)} samotné bity - ale stejně se neobjeví, pokud nejste v prostředí chroot.

Zadejte svou barevnou proměnnou PS1 pod pokud [ "$color_prompt" = yes ]; pak čára. Pod proměnnou zadejte proměnnou bez barev jiný čára.

Uložte soubor a zavřete textový editor. Chcete-li například uložit soubor v nano, stiskněte Ctrl + O, stiskněte Enter a poté ukončete stisknutím Ctrl + X.

Při příštím spuštění nového prostředí Bash - například přihlášením na terminálu nebo otevřením nového okna terminálu - se zobrazí přizpůsobená výzva.

.vstupní obsah .vstup do zápatí

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


Údržba a optimalizace - Nejoblíbenější články

Jak zlepšit příjem HDTV antény

Údržba a optimalizace Apr 20, 2025

NEBEZPEČNÝ OBSAH Pokud budete mít štěstí, můžete si televizní anténu umístit kamkoli budete chtít a získejte zdarma křišťálově čisté kanály HD ..


Jak upřednostnit stahování aplikací na iPhonu nebo iPadu

Údržba a optimalizace Mar 21, 2025

NEBEZPEČNÝ OBSAH Stáhli jste si nebo aktualizovali spoustu aplikací najednou a najednou jste si uvědomili, že musíte některou z těchto aplikací používat? ..


Jak zajistit, aby Google Chrome používal méně výdrže baterie, paměti a CPU

Údržba a optimalizace May 4, 2025

NEBEZPEČNÝ OBSAH Chrome není minimální webový prohlížeč, jaký kdysi byl. Původně se jmenoval Chrome, protože byl navržen tak, aby vám stál v cestě. Chrome již ne..


Jak změnit blikající tloušťku kurzoru klávesnice Windows

Údržba a optimalizace Jul 31, 2025

Všimli jste si někdy té malé blikající čáry na konci všeho, co píšete? Samozřejmě, že máte! Věděli jste ale, že můžete linku ztmavit, pokud chcete? Vytváří ta..


Získejte přístup k více prohlížečům z Firefoxu pomocí prohlížeče View Plus

Údržba a optimalizace Jul 8, 2025

NEBEZPEČNÝ OBSAH Frustruje vás nutnost vkládat odkazy do jiných prohlížečů, abyste mohli zobrazit webovou stránku? Nyní můžete tyto webové stránky otevřít v prohlížeči p..


Zbavte se počtu nepřečtených spamových zpráv v Gmailu a v klientovi IMAP

Údržba a optimalizace May 28, 2025

NEBEZPEČNÝ OBSAH Pokud jste uživatelem služby Gmail, pravděpodobně jste si všimli nepříjemného počtu nepřečtených zpráv ve složce Spam. Je to ještě horší, když k přís..


Doplněk Průzkumník s kartami pro Windows Vista (a také tlačítko Nahoru!)

Údržba a optimalizace Jan 20, 2025

Od doby, kdy jsem provedl přepnutí, jsem doufal v doplněk průzkumníka s kartami k systému Windows Vista, ale o čem většina z vás mluvila je nedostatek tlačítka Nahoru, jaké kdysi..


Znovu povolte možnost Hibernace v systému Windows Vista

Údržba a optimalizace Jan 1, 2025

Pokud jste zjistili, že v systému Windows Vista chybí možnost Hibernace, může to být spuštěním průvodce vyčištěním disku a odebráním souborů hibernace. Důvodem je známá c..


Kategorie