GNU/Linux >> Znalost Linux >  >> Linux

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

Většina systémů Ubuntu používá bash nebo dash jako svou výchozí terminálovou aplikaci. Příkazy zadáváte na standardním příkazovém řádku, který obvykle zobrazuje vaše uživatelské jméno, název hostitele a aktuální adresář v předem definovaném barevném schématu. Bash poskytuje mnoho možností přizpůsobení pro příkazový řádek, které vám umožňují nejen přidat různé funkce do řádku, ale také je odlišit různými barvami.

V tomto článku použijeme různé příklady k přizpůsobení a přebarvení příkazového řádku naší terminálové aplikace, abyste mohli udělat totéž podle potřeby. Příkazy a postupy popsané v tomto článku spustíme na systému Ubuntu 22.04 LTS.

Zobrazit aktuální konfiguraci výzvy Bash

Když terminál otevřete pomocí Dash nebo zkratky Ctrl+Alt+T, zobrazí se výzva takto:

[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 ~.
  • \$:Toto 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:

Přizpůsobení výzvy prostředí

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 za účelem přizpůsobení naší výzvy 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:

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

Zadejme následující příkaz, aby náš prompt také vypsal 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ěme bin, 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 výzva obsahovala konkrétní vlastní text , můžete použít následující sytanx:

$ 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 spuš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 obsahovala 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\$ "

Vybarvit výzvu

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.

Aby bylo možné 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, jsou 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 novou značku barvy 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í stylů textu ve výzvě

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[ATTRIBUTE; 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 Ubuntu tato hodnota určuje tučný text
2 Ztlumit text
4 Podtržení textu
5 Pro blikající text
7 Obrátí barvy textu a pozadí
8 Pro skrytý text

Příklad:

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

$ PS1="\[\033[4;31m\]\[email protected]\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 vybarvením 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 vaší 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.


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

  2. Jak předvánočně upravit váš linuxový terminál a Shell

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

  1. Jak zkontrolovat verzi Ubuntu

  2. Jak přidat další IP na váš server Ubuntu 18.04

  3. Jak zkontrolovat verzi operačního systému Linux

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

  2. Jak otevřít terminál v Ubuntu 22.04

  3. Jak zkontrolovat verzi Ubuntu