cs.phhsnews.com


cs.phhsnews.com / Jak přizpůsobit (a zbarvit) Váš Bash Prompt

Jak přizpůsobit (a zbarvit) Váš Bash Prompt


Většina Linuxových distribucí nakonfiguruje výzvu Bash tak, aby vypadala něco jakousername @ hostname: directory $. Ale můžete nakonfigurovat příkaz Bash tak, aby obsahoval vše, co se vám líbí, a dokonce si můžete vybrat libovolné barvy, které se vám líbí.

Příklad kroků zde byl proveden na Ubuntu 16.04 LTS. Proces by měl být stejný u ostatních distribucí Linuxu, ačkoli výchozí příkaz Bash a nastavení v souboru .bashrc mohou být trochu jiné.

Kde je uložena Prompt Proměnná

Konfigurace výzvy Bash je uložena u vašeho uživatele účet .bashrc, který je~ / .bashrc. Takže pokud je vaše uživatelské jméno bob, soubor je/home/bob/.bashrc.

Soubor můžete otevřít pro zobrazení aktuální proměnné Bash. Budeme používat nano jako náš příkladový textový editor, i když byste mohli použít také vi, emacs nebo jakýkoli jiný textový editor, který vám vyhovuje. Otevřete Terminál a spusťte:

nano ~ / .bashrc

Přejděte dolů do sekcePS1 =. První proměnná vypadá poněkud komplikovaně, protože obsahuje barevné informace - vysvětlíme to později. Druhá proměnná bez informací o barvě zní takto:

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

To je ještě trochu komplikované díky$ {debian_chroot: + ($ debian_chroot)}bitů. Jednoduše řekněte Bashovi, abyste věděli, zda používáte chrootové prostředí Debianu a normálně se nezobrazí. Při ignorování je zde výchozí struktura proměnné Bash:

 u @  h:  w  $
uoznačuje vaše uživatelské jméno,@ hoznačuje název hostitele (název počítače),:označuje znak: woznačuje hodnotu $, pokud jste běžným uživatelským účtem nebo # pokud jste kořen. Takže, to všechno dohromady, dostaneteuživatelské jméno @ hostname: working_directory $.Chcete-li změnit příkaz Bash, stačí přidat nebo odstranit speciální znaky v proměnné PS1. Existuje však mnoho dalších proměnných, které můžete použít než výchozí.Ponechte textový editor pro nyní-in nano, stiskněte Ctrl + X pro ukončení. Ukážeme vám, jak experimentovat s proměnnými, než skutečně zapíšete nový soubor do vašeho souboru .bashrc.

Jak vytvořit vlastní Bash Prompt

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:

DEFAULT = $ PS1

Nyní můžete nastavit proměnnou PS1 na různé hodnoty pro experiment. Například první řádek zde nastaví výzvu na základní výzvu "user $", zatímco druhý nastaví výzvu na základní výzvu "user: working_directory $".

PS1 = " u  $" PS1 Pokud se někdy chcete vrátit k výchozímu výzvě, stačí spustit následující příkaz:

PS1 = $ DEFAULT

Bash bude obnoven na výchozí výzvu díky že jste dříve uložili tato výchozí nastavení. Všimněte si, že všechny zde provedené změny jsou pro aktuální relaci Bash dočasné, takže se můžete vždy odhlásit a přihlásit nebo zavřít a znovu otevřít okno terminálu a vrátit se k výchozímu výzvě. Ale výše uvedený řádek umožňuje snadné vrácení zpět do výchozího příkazu 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 předdefinovat výchozí výzvu pomocí příkazu "Hello World", můžete použít:

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

Nyní máte základy dolů stačí vědět, jaké jsou všechny zvláštní znaky. Pravděpodobně se vám nebude líbit mnoho z nich, ale je zde úplný seznam, jak se objeví v příručce Bash:

Zvonek:

 a

Datum ve formátu "Datum v týdnu" např. "Tue May 26"):

  • dFormát je předán strftime (3) a výsledek je vložen do výzvy řetězec; prázdný formát vede k reprezentaci časového úseku specifické pro daný jazyk. Vyžadují se výztuhy:
  • D {format}Escape character:
  • eNázev hostitele až do prvního '.':
  • hNázev hostitele:
  • HPočet úloh,
  • Jméno jména koncového zařízení shellu: l
  • Nový řádek: n
  • Návrat vozíku: r
  • název baselu $ 0 (část následující po konečné lomítko): s
  • Čas v 24hodinovém formátu HH: MM: SS formát: t
  • : Formát MM: SS: T
  • Čas ve formátu 12 hodin ve formátu am / pm: @
  • AUživatelské jméno aktuálního uživatele:
  • uVerze Bash (např. 2,00):
  • vUvolnění Bash, verze + patchlevel (např. 0):
  • VAktuální pracovní adresář s $ HOME zkrácený tilde (používá proměnnou $ PROMPT_DIRTRIM):
  • wZákladní jméno $ PWD s $ HOME zkráceno a tilde:
  • WČíslo historie tohoto příkazu:
  • !Příkazové číslo tohoto příkazu:
  • #, #, jinak $:
  • $Znak, jehož kód ASCII je osmičková hodnota nnn:
  • nnnZpětné lomítko: tisk znaků. To může být použito pro vložení sekvence řídicího terminálu do výzvy:
  • [Ukončete sekvenci znaků, které nejsou tištěny:
  • ]Pokud chcete přidat datum a čas do příkazu Bash a vložte pracovní řádek na příkaz na druhý řádek, můžete použít následující konstrukci:
  • PS1 = "[ d t] u @ h n Hranaté závorky zde nejsou vůbec nutné, ale pomáhají vám rozdělit věci vizuálně a usnadnit jejich čtení. Jak jsme uvedli dříve, můžete přidat libovolnou textovou nebo normální znaky proměnné, které se vám líbí, takže neváhejte použít vše, co pro vás pracuje.Je tu ještě jeden silnější trik, o kterém byste měli vědět: Můžete přidat výstup libovolného příkazu na výzvu. Kdykoli se zobrazí výzva, příkaz Bash spustí příkaz a vyplní aktuální informace. Chcete-li to provést, zadejte pouze příkaz, který chcete spustit mezi dvěma znaky
  • '. Nejde o apostrof - to je vážný přízvuk, který se objevuje nad klávesou Tab na klávesnici.
  • Řekněme, že chcete zobrazit v jádře verzi jádra Linuxu. Můžete použít řádek, jako je následující:PS1 = " u @ h na 'uname -s -r' w $"

průměrný zatížení, jak je zobrazen příkazem

uptime

. Mohli byste použít následující konstrukci, která před uplynutím výzvy nastaví dobu provozu na vlastní lince.

PS1 = "(uptime) n u @ h: w $"experimentovat s různými speciálními znaky a příkazy pro sestavení vašeho ideálního příkazového řádku.Jak přidat barvy do vašeho Bash Prompt

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

Například výchozí proměnná výzvy barvy z dřívějšího období byla:

$ {debian_chroot : + ($ debian_chroot)} [033 [01; 32m ] u @ h [033 [00m ] $Nebo odstranění bitů debian_chroot znovu: [ 033 [01; 32m ] u @ h [033 [00m ]: [033 [ ] w [ 033 [00m ] $

Toto je ve skutečnosti pouze proměnná

u @ h: w $

Skutečně, můžeme to rozdělit do několika částí:

[ 033 [01; 32m ]

u < h

 [033 [00m  >  [ 033 [00;

]

První část je u @ hbit, před kterým jsou předávány informace o barvě, které se změní na zelenou. Druhým znakem

: , před kterým jsou informace o barvě, které odstraňují jakékoliv zabarvení. Třetí je bit   w , před kterým jsou informace o barvě modré. Čtvrtý je bit   $ , který předchází barevná informace, která odstraňuje jakékoliv barvení.  Až pochopíte, jak vytvořit vlastní barvy, můžete přidávat jakékoliv barvy, které se vám líbí, Bash výzva, která se vám líbí. Zde je to, co potřebujete vědět: Mezi znaky 

[as musíte zahrnout celou informaci o kódování barev. Uvnitř tagu musíte začít buď s 033 [nebo e [, což Bashovi naznačuje, že jde o barevné informace. Oba 033 [

a

e [dělají totéž. e [je kratší, 033 [, protože odpovídá tomu, co je ve výchozím nastavení používáno. Na konci tagu musíte ukončit značkum , která označuje konec značky barvy.Přerušení toho, jak vypadá každá značka barvy. Jediným rozdílem jsou informace, které přidáte namísto BAREVNĚ pro definici aktuální barvy: [033 [BARVAm ]Bash umožňuje změnu barvy textu v popředí, přidání atributů jako "tučné" nebo "podtržené" do textu a nastavení barvy pozadíZde jsou hodnoty pro text v popředí:Černá: 30Modrá: 34Zelená: 32Fialová: 35Červená: 31

Bílá: 37

Žlutá: 33   [ 033 [ 32

m ]

pro fialový text.

  • Můžete také zadat atribut pro text. Tento atribut musí být přidán před číslem barvy, oddělenou středníkem (;).
  • Normální text: 0
  • Tučný nebo světlý text: 1 (záleží na emulátoru terminálu.)
  • >
  • Text v obraze: 7 <(Toto invertuje barvy popředí a pozadí, takže budete viz černý text na bílém pozadí, pokud aktuální text je bílý text na černém pozadí.)
  • Skrytý text: 8
  • Nemusíte skutečně obsahovat atribut normálního textu.

Například jelikož červený text je kód 31 a tučný text je kód 1, použijete [ 033 [ 1; 31 m ]

Zde můžete zadat barvy pozadí:

Černé pozadí: 40

  • Modré pozadí: 44
  • Azurové pozadí: 46
  • Zelené pozadí: 42
  • Purpurové pozadí: 45
  • Červené pozadí: 41
  • > Například pokud modré pozadí je kódem 44,

[ 033 [

44m ] specifikuje modré pozadí. značky. 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:PS1 = " [ 033 [

42

m ] [033 [

  • m ] u @ h: w $ "
  • Zde specifikujeme pouze jednu barvu pozadí a pak jednu barvu textu v popředí, která začíná na začátku výzvy a aplikuje se na celý text v řádku. Můžete však určit, kolik barevných značek chcete v proměnné barvit různé části vašeho výzvy, nicméně se vám líbí.
  • Barvy pozadí textu a textu v textu přecházejí přes výzvu, pokud nezadáte kód barvy 00, vymažte informace o barvě . Tuto značku můžete také použít v rámci proměnné, chcete-li obnovit formátování zpět na výchozí nastavení někde ve vaší výzvě. Například následující řádek by ukončil všechny barvení před znakem
  • $
  • .
  • PS1 = " [033 [
  • 42

m ] > 31m ] u @ h: w \ [ 033 [ 00 m ] $ "Pokud provádíte experimentování s barvami, měli byste mít Bash výzvu, která se vám líbí v aktuální relaci. Ale pravděpodobně budete chtít, aby se tato nová výzva trvalá, takže se automaticky používá 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 dříve dívali.

Otevřete soubor .bashrc ve vašem preferovaném textovém editoru, například:  nano ~ / .bashrc  Přejděte dolů a vyhledejte sekci PS1 =. Stačí nahradit výchozí proměnnou vlastní přizpůsobenou proměnnou. Pravděpodobně budete chtít nechat značku $ {debian_chroot: + ($ debian_chroot)}  bity samy o sobě - ​​nebudou se objevovat, dokud se nenacházíte v prostředí chrootu.

Zadejte svou barevnou proměnnou PS1 pod

$ color_prompt "= ano]; pak řádku. Zadejte proměnnou bez barev pod řádekjiný

 Uložte soubor a zavřete textový editor. Chcete-li například soubor uložit do nano, stiskněte klávesy Ctrl + O, stiskněte klávesu Enter a poté klávesy Ctrl + X ukončete.  Při příštím spuštění nového shellu Bash, například přihlášením na terminál nebo otevřením nového okna terminálu - zobrazí se vaše vlastní výzva. 


Nejlepší

Nejlepší "Lite" verze vašich oblíbených aplikací pro Android

Pokud hledáte dobrý způsob, jak urychlit svůj telefon nebo snížit využití dat, existuje mnoho oficiální "lite" verze populárních aplikací, jako je Facebook nebo YouTube. Tyto jsou obecně méně bohaté na funkce než jejich plnohodnotné protějšky, ale jsou často skvělým prostředníkem mezi funkcemi a funkcí.

(how-top)

Funkce nové mapy služby Snapchat, vysvětlena (a jak ji deaktivovat)

Funkce nové mapy služby Snapchat, vysvětlena (a jak ji deaktivovat)

Funkce Snapchat představuje neuvěřitelnou rychlost. Některé z nich jsou hezké vylepšení, jako je přidání hlasových filtrů. Jiní, jako je Snap Map, jsou upřímně nebezpečné. Pojďme se podívat na to, co je nová mapa Snap, co je s ní špatné a co je nejdůležitější, jak ji deaktivovat. Co je mapa snapu? Snap Map je nová funkce Snapchatu, která sdílí vaši polohu se svými přáteli .

(how-top)