Hoe u uw bash-prompt kunt aanpassen (en inkleuren)

May 18, 2025
Onderhoud en optimalisatie
ONGECAAKTE CONTENT

De meeste Linux-distributies configureren de Bash-prompt om er ongeveer zo uit te zien gebruikersnaam @ hostnaam: directory $ . Maar u kunt de Bash-prompt configureren om alles te bevatten wat u maar wilt, en zelfs elke gewenste kleur kiezen.

De voorbeeldstappen hier zijn uitgevoerd op Ubuntu 16.04 LTS. Het proces zou hetzelfde moeten zijn op andere Linux-distributies, hoewel de standaard Bash-prompt en -instellingen in het .bashrc-bestand een beetje anders kunnen zijn.

Waar de promptvariabele wordt opgeslagen

Uw Bash-promptconfiguratie wordt opgeslagen in het .bashrc-bestand van uw gebruikersaccount, dat zich bevindt op ~ / .bashrc . Dus als uw gebruikersnaam bob is, staat het bestand op /home/bob/.bashrc .

U kunt het bestand openen om de huidige Bash-variabele te bekijken. We gebruiken nano als onze voorbeeldteksteditor, hoewel u ook wij , emacs of een andere teksteditor waarmee u vertrouwd bent. Open een terminal en voer uit:

nano ~ / .bashrc

Scrol omlaag naar het Ψ1 = sectie. De eerste variabele ziet er nogal ingewikkeld uit omdat deze kleurinformatie bevat. Dat zullen we later uitleggen. De tweede variabele, zonder kleurinformatie, luidt als volgt:

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

Dit is nog steeds een beetje ingewikkeld vanwege de ${debian_chroot:+($debian_chroot)} stukjes. Deze vertellen Bash gewoon om u te laten weten of u een Debian chroot-omgeving gebruikt en normaal gesproken niet wordt weergegeven. Als je deze negeert, is hier de standaardstructuur van de Bash-promptvariabele:

\ u @ \ h: \ w \ $

\u geeft uw gebruikersnaam aan, @ geeft het @ -teken aan, \ h geeft de hostnaam (computernaam) aan, : geeft het: teken aan, \in geeft de werkdirectory aan, en \$ geeft een $ aan als je een normaal gebruikersaccount hebt of # als je root bent. Dus als je dat allemaal bij elkaar zet, krijg je gebruikersnaam @ hostnaam: werkmap $ .

Om uw Bash-prompt te wijzigen, hoeft u alleen maar de speciale tekens in de PS1-variabele toe te voegen, te verwijderen of opnieuw te rangschikken. Maar er zijn veel meer variabelen die u kunt gebruiken dan de standaardvariabelen.

Verlaat de teksteditor voorlopig - druk in nano op Ctrl + X om af te sluiten. We laten u zien hoe u met variabelen kunt experimenteren voordat u daadwerkelijk een nieuwe in uw .bashrc-bestand schrijft.

Hoe u een aangepaste bash-prompt maakt

Uw Bash-promptconfiguratie wordt opgeslagen in de PS1-variabele. Om de inhoud van de PS1-variabele op te slaan in een nieuwe variabele, voert u de volgende opdracht uit:

STANDAARD = $ PS1

U kunt nu de PS1-variabele op verschillende waarden instellen om te experimenteren. De eerste regel hier zou bijvoorbeeld uw prompt instellen op een standaard "user $" -prompt, terwijl de tweede uw prompt zou instellen op een standaard "user: working_directory $" -prompt.

PS1="\u\$ "

PS1="\u:\w\$ "

Als u ooit terug wilt naar uw standaardprompt, voert u gewoon de volgende opdracht uit.

PS1 = $ STANDAARD

Bash wordt hersteld naar de standaardprompt dankzij het feit dat je die standaardinstellingen eerder hebt opgeslagen. Merk op dat alle wijzigingen die u hier aanbrengt slechts tijdelijk zijn voor de huidige Bash-sessie, dus u kunt zich altijd afmelden en weer aanmelden of het terminalvenster sluiten en opnieuw openen om terug te gaan naar uw standaardprompt. Maar de bovenstaande regel maakt het mogelijk om gemakkelijk terug te gaan naar uw standaard Bash-prompt zonder het gedoe van uitloggen of het sluiten van een venster.

U kunt willekeurige tekens of tekst aan de variabele toevoegen. Dus om de standaardprompt vooraf te laten gaan met "Hallo wereld", zou je kunnen gebruiken:

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

Nu u de basis onder de knie heeft, hoeft u alleen maar te weten wat alle speciale tekens zijn. Veel hiervan interesseert u waarschijnlijk niet, maar hier is de volledige lijst zoals deze wordt weergegeven in de Bash-handleiding :

  • Een belkarakter: \een
  • De datum, in het formaat 'Weekdag Maand Datum' (bijvoorbeeld 'Di 26 mei'): \ d
  • Het formaat wordt doorgegeven aan strftime (3) en het resultaat wordt in de promptreeks ingevoegd; een leeg formaat resulteert in een locale-specifieke tijdweergave. De beugels zijn vereist: \ D{format}
  • Een ontsnappingskarakter: \ is
  • De hostnaam, tot en met de eerste ‘.’: \ h
  • De hostnaam: \ H
  • Het aantal banen dat momenteel door de shell wordt beheerd: \ j
  • De basisnaam van de naam van het terminalapparaat van de shell: \ l
  • Een nieuwe regel: \ n
  • Een regelterugloop: \ r
  • De naam van de shell, de basisnaam van $ 0 (het gedeelte dat volgt op de laatste schuine streep): \ s
  • De tijd, in 24-uurs indeling UU: MM: SS: \t
  • De tijd, in 12-uurs indeling UU: MM: SS: \T
  • De tijd, in 12-uurs am / pm-indeling: \@
  • De tijd, in 24-uurs UU: MM-indeling: \EEN
  • De gebruikersnaam van de huidige gebruiker: \u
  • De versie van Bash (bijvoorbeeld 2.00): ev
  • De release van Bash, versie + patchlevel (bijv.2.00.0): EV
  • De huidige werkdirectory, met $ HOME afgekort met een tilde (gebruikt de $ PROMPT_DIRTRIM variabele): \in
  • De basisnaam van $ PWD, met $ HOME afgekort met een tilde: \IN
  • Het geschiedenisnummer van deze opdracht: \!
  • Het opdrachtnummer van deze opdracht: \#
  • Als de effectieve uid 0, # is, anders $: \$
  • Het teken waarvan de ASCII-code de octale waarde nnn is: \ nnn
  • Een backslash: \\
  • Begin een reeks niet-afdrukbare tekens. Dit kan worden gebruikt om een ​​terminalbesturingsreeks in de prompt in te bedden: \[
  • Beëindig een reeks niet-afdrukbare tekens: \]

Dus als je de datum en tijd aan je Bash-prompt wilt toevoegen en de werkmap op commando op een tweede regel wilt zetten, kun je de volgende constructie gebruiken:

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

De vierkante haken hier zijn helemaal niet nodig, maar helpen de zaken visueel op te splitsen en de regel gemakkelijker leesbaar te maken. Zoals we eerder hebben besproken, kun je elke gewenste tekst of normale tekens aan de variabele toevoegen, dus voel je vrij om te gebruiken wat voor jou werkt.

Er is nog een krachtigere truc die u moet weten: u kunt de uitvoer van elke opdracht aan de prompt toevoegen. Telkens wanneer de prompt verschijnt, zal Bash de opdracht uitvoeren en de huidige informatie invullen. Om dit te doen, neemt u gewoon een commando op dat u tussen twee wilt uitvoeren ` karakters. Dat is geen apostrof, dat is het ernstige accent dat boven de Tab-toets op je toetsenbord wordt weergegeven.

Stel dat u bijvoorbeeld de Linux-kernelversie in de prompt wilt zien. Je zou een regel als de volgende kunnen gebruiken:

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

Laten we als ander voorbeeld zeggen dat u de uptime en het laadgemiddelde van het systeem wilt zien, zoals weergegeven door de uptime opdracht. Je zou de volgende constructie kunnen gebruiken, die de uptime op een eigen regel zet voor de rest van de prompt.

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

Experimenteer gerust met verschillende speciale tekens en opdrachten om uw ideale opdrachtprompt samen te stellen.

Hoe u kleuren aan uw bash-prompt kunt toevoegen

Als u eenmaal uw gewenste prompt heeft bepaald, kunt u er kleuren aan toevoegen. Dit is eigenlijk heel eenvoudig, maar het zorgt ervoor dat de variabele er erg rommelig en ingewikkeld uitziet als je niet begrijpt waar je naar kijkt.

De standaardvariabele voor kleurprompts van eerder was bijvoorbeeld:

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

Of de debian_chroot-bits nogmaals verwijderen:

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

Dit is eigenlijk gewoon de \ u @ \ h: \ w $ variabel van vroeger, maar met kleurinformatie. Echt, we kunnen het opsplitsen in een paar secties:

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

Het eerste deel is het \ u @ \ h bit, voorafgegaan door kleurinformatie waardoor het groen wordt. De tweede is de : karakter, voorafgegaan door kleurinformatie die elke kleur verwijdert. De derde is de \in bit, voorafgegaan door kleurinformatie waardoor het blauw wordt. De vierde is de \$ bit, voorafgegaan door kleurinformatie die elke kleur verwijdert.

Als u eenmaal begrijpt hoe u zelf kleurlabels kunt maken, kunt u elke gewenste kleur toevoegen aan de secties van uw Bash-prompt die u maar wilt.

Dit is wat u moet weten: u moet de volledige kleurcodegegevens tussen de \[ en \] karakter s. Binnen de tag moet u met een van beide beginnen \033[ of \ is [ om aan Bash aan te geven dat dit kleurinformatie is. Beide \033[ en \ is [ hetzelfde doen. \ is [ is korter, dus wellicht handiger in het gebruik, maar we zullen gebruiken \033[ hier omdat het overeenkomt met wat standaard wordt gebruikt. Aan het einde van de tag moet u eindigen met m \ om het einde van een kleurtag aan te geven.

Om dat op te splitsen, hier is hoe elke kleurtag eruit zal zien. Het enige verschil is de informatie die u toevoegt in plaats van COLOR om de werkelijke kleur te definiëren:

\[\033[KLEURm \]

Met Bash kunt u de kleur van de voorgrondtekst wijzigen, attributen zoals "vet" of "onderstrepen" aan de tekst toevoegen en een achtergrondkleur instellen.

Dit zijn de waarden voor voorgrondtekst:

  • Zwart: 30
  • Blauw: 34
  • Cyaan: 36
  • Groen: 32
  • Paars: 35
  • Rood: 31
  • Wit: 37
  • Geel: 33

Omdat paarse tekst bijvoorbeeld kleurcode 32 is, zou u \[\033[ 32 m \] voor paarse tekst.

U kunt ook een attribuut voor de tekst specificeren. Dit attribuut moet worden toegevoegd vóór het kleurnummer, gescheiden door een puntkomma (;). Tekst met deze attributen ziet er in verschillende terminalemulators anders uit.

Dit zijn de waarden voor tekstattributen:

  • Normale tekst: 0
  • Vetgedrukte of lichte tekst: 1 (afhankelijk van de terminalemulator.)
  • Dim tekst: 2
  • Onderstreepte tekst: 4
  • Knipperende tekst: 5 (dit werkt niet in de meeste terminalemulators.)
  • Omgekeerde tekst: 7 (hiermee worden de voor- en achtergrondkleuren omgekeerd, zodat u zwarte tekst op een witte achtergrond ziet als de huidige tekst witte tekst op een zwarte achtergrond is.)
  • Verborgen tekst: 8

U hoeft het normale tekstkenmerk niet echt op te nemen. Dat is hoe dan ook de standaard.

Omdat rode tekst bijvoorbeeld code 31 is en vetgedrukte tekst code 1 is, zou u \[\033[ 1;31 m \] voor vetgedrukte rode tekst.

U kunt ook een achtergrondkleur specificeren, maar u kunt geen kenmerk aan een achtergrondkleur toevoegen.

Dit zijn de waarden voor achtergrondkleuren:

  • Zwarte achtergrond: 40
  • Blauwe achtergrond: 44
  • Cyaan achtergrond: 46
  • Groene achtergrond: 42
  • Paarse achtergrond: 45
  • Rode achtergrond: 41
  • Witte achtergrond: 47
  • Gele achtergrond: 43

Omdat een blauwe achtergrond bijvoorbeeld code 44 is, \[\033[ 44 m \] zou een blauwe achtergrond specificeren.

U kunt zowel voorgrond- als achtergrondkleurtags specificeren. 42 vertegenwoordigt bijvoorbeeld een groene achtergrond en 31 vertegenwoordigt rode tekst. Dus om ervoor te zorgen dat de standaardprompt rode tekst op een groene achtergrond wordt, gebruik je:

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

We specificeren hier slechts een enkele achtergrondkleur en vervolgens een enkele voorgrondtekstkleur, die begint bij het begin van de prompt en wordt toegepast op alle tekst in de prompt. U kunt echter zoveel kleurlabels specificeren als u wilt in de variabele om verschillende secties van uw prompt te kleuren zoals u dat wilt.

De achtergrond- en voorgrondtekstkleuren blijven voorbij de prompt gaan, tenzij u kleurcode 00 opgeeft om de kleurinformatie te wissen. U kunt deze tag ook binnen de variabele gebruiken om de opmaak ergens in uw prompt terug te zetten naar de standaardwaarde. De volgende regel zou bijvoorbeeld alle kleuren beëindigen vóór de \$ karakter.

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

Hoe u uw nieuwe standaardprompt instelt

Als je klaar bent met experimenteren met kleuren, zou je een Bash-prompt moeten hebben die je leuk vindt in de huidige sessie. Maar u wilt die nieuwe prompt waarschijnlijk permanent maken, zodat deze automatisch in al uw Bash-sessies wordt gebruikt.

Om dit te doen, hoef je alleen maar de inhoud van de PS1-variabele in het .bashrc-bestand te wijzigen, dat we eerder hebben bekeken.

Open het .bashrc-bestand in uw favoriete teksteditor, zoals:

nano ~ / .bashrc

Scroll naar beneden en zoek de sectie PS1 =. Vervang gewoon de standaardvariabele door uw aangepaste variabele. U wilt waarschijnlijk het ${debian_chroot:+($debian_chroot)} bits alleen - ze verschijnen sowieso niet, tenzij u zich in een chroot-omgeving bevindt.

Voer je gekleurde PS1-variabele in onder de als [ "$color_prompt" = yes ]; vervolgens lijn. Voer de variabele zonder kleuren in onder de anders lijn.

Sla het bestand op en sluit uw teksteditor. Om het bestand bijvoorbeeld in nano op te slaan, drukt u op Ctrl + O, drukt u op Enter en drukt u vervolgens op Ctrl + X om af te sluiten.

De volgende keer dat u een nieuwe Bash-shell start, bijvoorbeeld door u aan te melden bij de terminal of door een nieuw terminalvenster te openen, ziet u uw aangepaste prompt.

.entry-inhoud .entry-footer

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


Onderhoud en optimalisatie - Meest populaire artikelen

Waar zijn de flexibele veerlipjes aan de zijkant van computerkasten voor?

Onderhoud en optimalisatie Jan 26, 2025

Als we het zijpaneel van onze desktopcomputers moeten verwijderen, denken we meestal niet veel na over de reeks flexibele veerlipjes rond de buitenrand van de behuizing, maar waar z..


Hoe u uw eerste hoogwaardige camera koopt

Onderhoud en optimalisatie Dec 21, 2024

Een camera kopen is nog nooit zo ingewikkeld geweest: er zijn zoveel goede opties beschikbaar, maar er tussen kiezen kan als een nachtmerrie aanvoelen, vooral als je net begint met ..


Hoe u uw tv automatisch kunt inschakelen wanneer u thuiskomt met de Harmony Hub

Onderhoud en optimalisatie Aug 10, 2025

ONGECAAKTE CONTENT Mensen zijn gewoontedieren, en het is waarschijnlijk dat u uw tv elke dag rond dezelfde tijd aanzet nadat u thuiskomt van het werk, en hem elke avond voor het n..


Gebruik bijnamen om snel een reeks websites met bladwijzers in Opera te openen

Onderhoud en optimalisatie Jul 25, 2025

ONGECAAKTE CONTENT Als u een specifieke set websites heeft die u vaak bezoekt, kunt u het gemakkelijk maken om al die websites tegelijk te openen met een bladwijzermap en een bijn..


Hoe u de sectie Alle programma's in het menu Start van Windows 7 kunt reorganiseren

Onderhoud en optimalisatie Sep 7, 2025

Wordt uw startmenu zo rommelig dat u niets kunt vinden? Het gedeelte Alle programma's van het menu Start kan in alfabetische volgorde staan ​​(soms op bedrijfsnamen in plaats va..


Mouse Extender maakt Windows-navigatie eenvoudiger

Onderhoud en optimalisatie Dec 30, 2024

ONGECAAKTE CONTENT Navigeren in Windows 7 is een stuk eenvoudiger met de nieuwe taakbalk, maar het kan eenvoudiger met alles op één centrale locatie. Mouse Extender is een gratis hulpprog..


Een snelle blik op URL-verkortingsservices en -extensies

Onderhoud en optimalisatie Nov 27, 2024

ONGECAAKTE CONTENT Als je nieuw bent bij URL-verkorting of gewoon op zoek bent naar een aantal goede services om te gebruiken, doe dan mee, want we bekijken snel URL-verkorting en vier van ..


Geweldig klinkende muziek en skin-mogelijkheden met Xion

Onderhoud en optimalisatie Apr 20, 2025

Als grote muziekfan houd ik ervan om verschillende audiosoftwaretoepassingen te bespreken op zoek naar de ultieme. Vandaag bekijken we Xion Audio Player, een volledig gratis, ultralichte, gem..


Categorieën