GNU/Linux >> Znalost Linux >  >> Linux

Jak přizpůsobit Bash Prompt v Linuxu

Úvod

V Linuxu probíhá velká část vaší práce z příkazového řádku, známého také jako shell nebo BASH (Bourne-Again Shell). Shell interpretuje vaše příkazy a předává je operačnímu systému k provedení.

Tento tutoriál vám ukáže, jak přizpůsobit nebo změnit výzvu Linux BASH .

Předpoklady

  • Systém se systémem Linux
  • Přístup k příkazovému řádku/terminálu
  • Uživatelský účet s sudo nebo root privilegia

Výchozí výzva BASH

Výchozí výzva BASH je ta, kterou uvidíte, když poprvé otevřete terminál nebo příkazový řádek. Obvykle to vypadá nějak takto:

[email protected]:~$

Případně to může vypadat takto:

(base) [[email protected] ~]$

První část výzvy vám sdělí uživatele, který je aktuálně přihlášen. Druhá část identifikuje název hostitele systému.

Znak vlnovky ~ označuje, že aktuální pracovní adresář je domovským adresářem aktuálního uživatele.

Znak dolaru $ znamená, že aktuální uživatel je standardní uživatel.

Uživatel root by byl identifikován znakem hash # .

Přizpůsobte výzvu Bash v Linuxu

Jako většina linuxových aplikací, BASH čte konfigurační soubor, aby určil jeho chování. Tento soubor je v domovském adresáři:

~/.bashrc

Než provedete jakékoli změny, vytvořte záložní kopii konfiguračního souboru. Otevřete okno terminálu a zadejte následující:

cp ~/.bashrc ~/.bashrc.bak

Trvalá změna výzvy Bash v Linuxu

Otevřete konfigurační soubor BASH pro úpravy:

sudo nano ~/.bashrc

V tomto souboru byste měli vidět několik různých nastavení. Některé z nich jsou popisné řádky v modré barvě, bez komentáře # podepsat. Některé jsou bílé, což znamená, že jsou povoleny.

Přejděte na konec konfiguračního souboru. Přidejte následující řádek:

PS1="MyTestPrompt> "

Můžete nahradit MyTestPrompt> s libovolným řetězcem textu, který chcete.

Uložte soubor (ctrl-o > Zadejte ) a ukončete (ctrl-x ).

Chcete-li použít změny, aktualizujte službu BASH. Zadejte následující:

source ~/.bashrc

Váš řádek příkazového řádku by se měl změnit na následující:

MyTestPrompt>

Vytvořte dočasnou změnu výzvy BASH

Výzvu BASH můžete dočasně změnit pomocí export příkaz. Tento příkaz mění výzvu, dokud se uživatel neodhlásí.

Nastavte výzvu BASH tak, aby zobrazovala pouze uživatelské jméno, zadáním následujícího:

export PS1="\u >"

Výzva by se měla okamžitě změnit, aby vypadala takto:

username >

Výzvu můžete resetovat tak, že se odhlásíte a poté se znovu přihlásíte.

Populární vlastní možnosti pro výzvy BASH

Tyto možnosti můžete použít v obou metodách – dočasně pomocí export nebo trvale úpravou ~/.bashrc soubor.

Zobrazovat uživatelské jméno a název domény

Použijte –H možnost zobrazení celého názvu hostitele:

export PS1="\u\H "

Ve výzvě byste měli vidět název hostitele.

Přidat speciální znaky

Do výzvy můžete přidat speciální znaky tak, že je seřadíte kolem speciálních možností:

export PS1="\[email protected]\H :"

Mělo by se zobrazit následující:

[email protected]:

Zobrazovat uživatelské jméno plus název a verzi prostředí

Zadejte následující pro zobrazení uživatelského jména, názvu prostředí a verze:

export PS1="\u >\s\v "

Výzva by se měla změnit na následující:

username >bash4.4

Přidat datum a čas do výzvy BASH

Chcete-li zobrazit různé formáty data a času, použijte následující možnosti:

  • d Zobrazuje dnešní datum v [den v týdnu]/[měsíc]/[den]
export PS1="\[email protected]\H>\d "
  • t Zobrazuje aktuální čas ve 24hodinovém formátu
export PS1="\[email protected]\H>\t "
  • T Zobrazuje aktuální čas ve 12hodinovém formátu
export PS1="\[email protected]\H>\T "
  • A Zobrazuje aktuální čas ve 24hodinovém zápisu s pouhými hodinami a minutami
export PS1="\[email protected]\H>\A "

Skrýt všechny informace ve výzvě BASH

Použijte toto, chcete-li zabránit zobrazení uživatelských jmen nebo názvů hostitelů při výzvě:

export PS1="\W > "

Měli byste vidět následující:

~ >

Odlišení uživatele root od běžného uživatele

Normální výzva BASH zobrazuje $ označení pro běžného uživatele. Pokud se přihlásíte jako uživatel root, zobrazí se # se zobrazí znak. Použijte $ kód označující, že aktuální uživatel není uživatelem root:

export PS1="\[email protected]\H \W:\$ "

Další možnosti výzvy BASH

Zde je seznam většiny možností, které můžete použít pro výzvu BASH.

Některé z těchto příkazů nemusí fungovat ve všech verzích Linuxu.

  • \a – Zvonková postava
  • \d – Datum (den/měsíc/datum)
  • \D{format} – Pomocí této možnosti zavoláte systému, aby odpověděl aktuálním časem
  • \e – Útěková postava
  • \h – Název hostitele (krátký)
  • \H – Úplný název hostitele (název domény)
  • \j – Počet úloh spravovaných shellem
  • \l – Základní název koncového zařízení shell
  • \n – Nový řádek
  • \r – Vrácení přepravy
  • \s – Název skořápky
  • \t – Čas (hodina:minuta:sekunda)
  • \@ – Čas, 12 hodin AM/PM
  • \A – Čas, 24 hodin, bez sekund
  • \u – Aktuální uživatelské jméno
  • \v – verze BASH
  • \V – Další informace o verzi BASH
  • \w – Aktuální pracovní adresář ($HOME je reprezentován ~)
  • \W – Základní název pracovního adresáře ($HOME je reprezentován ~)
  • \! – Vypíše číslo tohoto příkazu v historii
  • \# – Číslo příkazu tohoto příkazu
  • \$ – Určuje, zda je uživatel root (#) nebo jiný ($)
  • \\ – zpětné lomítko
  • \[ – Spusťte sekvenci nezobrazených znaků (užitečné, pokud chcete do výzvy přidat příkaz nebo sadu instrukcí)
  • \] – Zavřít nebo ukončit sekvenci nezobrazených znaků

Jak změnit barvu výzvy BASH

Můžete změnit barvu textu výzvy BASH. Chcete-li například dočasně změnit text výzvy BASH na zelenou, zadejte následující:

export PS1="\e[0;32m[\[email protected]\h \W]\$ \e[0m"

Vaše výzva by měla mít stejný text jako normálně, ale měla by být zelená.

Zde je rozpis příkazů:

\e[ – Začněte měnit barvy
0;32m – Zadejte kód barvy
[\[email protected]\h \W]\$ – Toto je kód pro vaši normální výzvu BASH ([email protected] Workingdirectory $ )
\e[0m – Ukončete režim změny barev

První číslo v kódu barvy určuje typ písma:

0 – Normální
1 – tučné (jasné)
2 – Tlumené
4 – Podtrženo

Druhé číslo označuje barvu, kterou chcete:

30 - Černá
31 - Červené
32 - Zelená
33 – Hnědá
34 – Modrá
35 - Nachový
36 - Tyrkysová
37 – Světle šedá

Pokud navíc zkombinujete světlou variantu s barevným kódem, získáte světlejší verzi této barvy. Pokud například použijete kód barvy 1;32 , dostanete světle zelenou místo normální zelené. Pokud používáte 1;33 , získáte žlutou místo hnědé.

Jak resetovat změny BASH na výchozí nastavení

Změny lze resetovat dvěma způsoby. Pro dočasné změny (pomocí export PS1="" příkaz), můžete výchozí nastavení obnovit odhlášením.

Pokud jste upravili \.bashrc Chcete-li provést trvalé změny, existují dva způsoby, jak se vrátit k výchozímu nastavení:

  • Vykreslete změny jako komentáře úpravou souboru a přidáním # před každou provedenou změnou.
  • Obnovte výchozí nastavení ze zálohy zadáním:
sudo cp ~/.bashrc.bak ~/.bashrc

Porozumění různým částem výzvy BASH

Než budete pokračovat, resetujte výzvu BASH na výchozí. Pokud jste použili export příkaz, odhlaste se a znovu přihlaste. Pokud jste upravili ~/.bashrc soubor, umístěte # podepište před každou provedenou úpravou a uložte soubor.

Výzva BASH obsahuje čtyři různé hodnoty:PS1, PS2, PS3 a PS4 .

PS znamená Prompt Statement . Doposud jsme pracovali s hodnotou PS1. Chcete-li zobrazit aktuální hodnotu PS1, zadejte následující:

echo $PS1

V závislosti na systému vrací terminál pro výchozí nastavení něco takového:


Možná znáte \[email protected]\h možnosti jako uživatelské jméno a hostitel . w zobrazí aktuální pracovní adresář.

Nyní zobrazte hodnotu PS2:

echo $PS2

Systém by měl zobrazit pouze úhlovou závorku:

>

Opakování stejného příkazu pro PS3 by mělo být prázdné.

U PS4 uvidíte + podepsat.

Zde jsou různé významy pro různé části výzvy BASH:

  • PS1 – Toto je primární zobrazení výzvy. Zde nastavujete speciální znaky nebo důležité informace.
  • PS2 – Toto je sekundární řetězec výzvy. To je obvykle nastaveno jako oddělovač mezi zobrazením výzvy a zadáním textu. Používá se také k zobrazení, když je dlouhý příkaz rozdělen na části pomocí \ podepsat.
  • PS3 – Toto je výzva k select příkaz.
  • PS4 – Toto je výzva ke spuštění skriptu shellu v režimu ladění.

Ve většině případů budete pracovat pouze s PS1 a možná i PS2 možnost také.


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

  2. Jak zobrazit aktuální cestu v příkazovém řádku v linuxovém sh (ne bash)?

  3. Jak získat masku sítě z bash?

  1. Zazimujte výzvu Bash v Linuxu

  2. Jak vymazat historii příkazového řádku BASH v Linuxu

  3. Jak přizpůsobit uživatelská prostředí Linuxu

  1. Jak vymazat historii Bash na Linuxu

  2. Jak zkrátit Bash Prompt v Linuxu?

  3. Jak zkontrolovat syslog v Bash na Linuxu?