GNU/Linux >> Znalost Linux >  >> Debian

Jak přizpůsobit výzvu terminálu Bash na Debianu 10

Linuxový shell bash poskytuje mnoho možností přizpůsobení výzvy, které můžete použít nejen k začlenění různých funkcí do výzvy, ale také k jejich odlišení pomocí různých barev.

V tomto článku použijeme různé příklady k přizpůsobení a přebarvení výzvy naší aplikace Terminal, která vám umožní udělat totéž v závislosti na vašich potřebách. Máme příkazy a procedury popsané v tomto článku pro systém Debian 10 Buster.

Zobrazit aktuální konfiguraci výzvy Bash

Když otevřete svůj terminál pomocí vyhledávání Debian Application Launcher, zobrazí se následující výzva:

[email protected]:directory$

Tento výchozí formát uvádí uživatelské jméno, název hostitele a poté aktuální adresář uživatele. Bash přebírá tuto konfiguraci ze souboru bashrc, který je nastaven individuálně pro každého uživatele v jeho domovském adresáři. Tento soubor můžete otevřít takto:

$ nano ~/.bashrc

Umístění:/home/username/.bashrc

K otevření tohoto souboru můžete také použít jakýkoli jiný textový editor.

Takto vypadá tento konfigurační soubor. Zde vám zobrazujeme relevantní část souboru.

Proměnná PS1, kterou vidíte na obrázku výše, má veškerou požadovanou konfiguraci pro bash prompt. Nejprve si vysvětlíme, co znaky v této proměnné označují. Tuto proměnnou můžete jasně zobrazit v proměnné PS1 uvedené za příkazem else.

  • \u-Toto označuje uživatelské jméno aktuálního uživatele
  • \h:Toto označuje název hostitele aktuálního uživatele extrahovaný z plně kvalifikovaného názvu domény.
  • \w:Označuje aktuální pracovní adresář. Váš domovský adresář je označen symbolem vlnovky ~.
  • \$] označuje, zda jste normální uživatel ($) nebo uživatel root (#).

Konfiguraci proměnné PS1 můžete také zobrazit ozvěnou její hodnoty takto:

$ echo $PS1

Přizpůsobit výzvu Bash

Poté, co se podíváme, kde jsou uloženy informace výzvy a co popisuje proměnná PS1, podívejme se, jak ji lze upravit a přizpůsobit tak naši výzvu bash.

Před úpravou proměnné PS1 je důležité uložit její výchozí obsah do nové proměnné. To nám pomůže obnovit výzvu do původní konfigurace, pokud se něco pokazí. Do svého terminálu zadejte následující příkaz:

$ DEFAULT=$PS1

Nyní má proměnná „DEFAULT“ všechny informace, které potřebujeme k obnovení výchozího nastavení výzvy.

Pojďme nyní experimentovat s naší proměnnou PS1. Zadejte následující příkaz:

$ PS1="\u\$ "

Tato nová hodnota PS1 má na vaši výzvu následující vliv:

Můžete vidět pouze své uživatelské jméno a informace o uživateli root bez barev, protože ještě nebyly nastaveny žádné informace o barvě.

Zadáme následující příkaz, aby naše výzva také vypsala náš pracovní adresář

$ PS1="\u:\w\$ "

Tato nová hodnota PS1 má na vaši výzvu následující vliv:

Protože můj pracovní adresář byl domov, viděl jsem pouze symbol ~. V nějakém jiném adresáři řekněte „Pictures“, moje výzva zobrazí následující informace:

Nastavit výzvu zpět na výchozí

Vzhledem k tomu, že jsme původní konfiguraci proměnné PS1 uložili do proměnné DEFAULT, můžeme hodnotu PS1 vrátit zpět na výchozí tím, že do ní vložíme hodnotu naší proměnné DEFAULT.

Co ještě můžete přizpůsobit?

Pokud chcete, aby vaše výzva obsahovala konkrétní vlastní text , můžete použít následující syntaxi:

$ PS1="[custom text] \[email protected]\h:\w\$ "

Příklad:

Výzvu jsem nastavil tak, aby zahrnovala vlastní zprávu takto:

Do výzvy můžete začlenit následující základní znaky:

Postava Účel
\d Datum ve formátu den měsíc.
\e Znak zvonku.
\a Escape znak.
\h Název hostitele aktuálního uživatele do „.“
\H Název hostitele aktuálního uživatele.
\l Základní název koncového zařízení.
\j Počet úloh spouštěných shellem.
\r Vrácení vozíku.
\n Nový řádek.
\u Uživatelské jméno aktuálního uživatele.
\v Verze Bash.
\! Vytisknout číslo historie spouštěného příkazu.

Můžete zahrnout aktuální systémový čas ve výzvě pomocí následujícího příkazu:

$ PS1=”\A\u: \w\$ “

Tato nová hodnota PS1 má na vaši výzvu následující vliv:

Výzvu můžete také přizpůsobit tak, aby zahrnovala výstup příkazu; to vám dává neomezené možnosti začlenění do výzvy.

Syntaxe:

$ PS1="\[email protected]\h on `[command]` \w\$ "

Příklad:

V tomto příkladu nastavím výzvu tak, aby obsahovala název primární skupiny, do které aktuální uživatel patří.

$ PS1="\[email protected]\h on `id -gn` \w\$ "

Výzva k vybarvení Bash

Po přizpůsobení výzvy si uvědomíte, že věci mohou vypadat trochu zmateně. Jasným důvodem je, že není příliš snadné odlišit jeden prvek od druhého, pokud jsou všechny uvedeny ve stejné barvě. Nyní se naučíme, jak vybarvit výzvu, aby byla příjemnější pro oči.

Chcete-li přidat barvy k jedné nebo více funkcím, proměnná PS1 obsahuje barevné značky. Zvýrazněný text na následujícím obrázku je barevná značka.

Toto je formát barevné značky:

\[\033[COLOR]m\]

Například výchozí uživatelské jméno a název hostitele, které vidíme v naší výchozí výzvě terminálu, je zelené kvůli následující barevné značce:

\[\033[01;32m\]\[email protected]\h

Tuto hodnotu barvy můžete změnit oproti funkci výzvy bash a dát jí novou barvu nebo přidat nový barevný štítek k funkci, která žádnou nemá.

Zde jsou některé běžné barvy a jejich hodnoty:

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

Příklad:

Následující příkaz změní barvu výzvy na červenou, protože ve značce barvy zadáváme 31 (červená barva):

$ PS1="\[\033[31m\]\[email protected]\h:\w$ "

Použití textových stylů ve výzvě Bash

Do textu výzvy můžete přidat styly přiřazením hodnoty atributu barevnému tagu. Zde je formát barevné značky s atributem:

\[\033[ATRIBUTE; COLORm\]

Pro text výzvy můžete použít následující hodnoty atributů:

Hodnota atributu Účel
0 Normální text (Toto je výchozí hodnota, i když není nastaven žádný atribut)
1 V terminálu Debian tato hodnota určuje tučný text
2 Ztlumit text
4 Podtržení textu
5 Pro blikající text
7 Obrátí barvu textu a pozadí
8 Pro skrytý text

Příklad:

K podtržení výzvy bash můžete použít následující příkaz:

$ PS1=”\[\033[4;31m\]\[e-mail chráněn]\h:\w$ ”

Hodnota 4 znamená, že chceme text „podtrhnout“.

Proveďte trvalé změny ve výzvě

Příkazy, které jste dosud provedli, změní pouze výzvu pro aktuální bash session. Poté, co jste experimentovali s přizpůsobením textu a barevností výzvy a dosáhli konečného výsledku, který chcete trvale nastavit pro všechny relace bash, musíte upravit soubor bashrc.

Otevřete soubor .bashrc a zkopírujte hodnotu PS1, kterou jste dokončili, do řádku PS1 pod if; pak linka. Na následujícím obrázku jsem právě změnil barvu výzvy bash na červenou:

Uložte soubor stisknutím Ctrl+X a poté stisknutím Y. Změny ve výzvě bash budou nyní trvalé. Ukončete terminál a znovu jej otevřete, abyste viděli, že váš bash prompt bude stále stejný, jak jste nastavili.

Po procvičení spolu s tímto tutoriálem můžete vyniknout v přizpůsobení výzvy bash. Poté můžete nastavit barvy pro odlišení různých funkcí, které jste začlenili do výzvy. Tímto způsobem budete moci zobrazit a využít tyto užitečné informace pokaždé, když použijete výzvu bash.


Debian
  1. Jak přizpůsobit barvy a obsah bash v příkazovém řádku terminálu Linux

  2. Přizpůsobte si terminál na Ubuntu 20.04 – jak na to?

  3. Jak odstranit proměnnou pouze pro čtení v bash?

  1. Jak přizpůsobit Bash Prompt v Linuxu

  2. Jak nainstalovat R na Debian 9

  3. Jak zkrátit Bash Prompt v Linuxu?

  1. Jak nainstalovat R na Debian 10

  2. Jak nainstalovat Debian 11

  3. Jak přizpůsobit výzvu terminálu Ubuntu