Tegenwoordig is Bash de standaardshell in de meeste (zo niet alle) moderne Linux-distributies. Het is u echter misschien opgevallen dat de tekstkleur in de terminal en de inhoud van de prompt van de ene distro tot de andere kunnen verschillen.
Voorgesteld lezen:5 meest gebruikte open source shells voor Linux
Als je je hebt afgevraagd hoe je dit kunt aanpassen voor een betere toegankelijkheid of slechts voor een opwelling, blijf dan lezen - in dit artikel zullen we uitleggen hoe je dat kunt doen.
De opdrachtprompt en het uiterlijk van de terminal worden bepaald door een omgevingsvariabele genaamd PS1
. Volgens de bash man pagina, PS1 vertegenwoordigt de primaire promptreeks die wordt weergegeven wanneer de shell klaar is om een opdracht te lezen.
De toegestane inhoud in PS1 bestaat uit verschillende backslash-escaped speciale tekens waarvan de betekenis wordt vermeld in de VRAGEN gedeelte van de man-pagina.
Laten we ter illustratie de huidige inhoud van. weergeven PS1
in ons systeem (dit kan in jouw geval iets anders zijn):
$ echo $ PS1 [\[e-mail beveiligd]\h \W]$
We zullen nu uitleggen hoe u kunt aanpassen PS1 volgens onze behoeften.
Volgens de sectie PROMPTING op de man-pagina is dit de betekenis van elk speciaal teken:
\u:
de gebruikersnaam van de huidige gebruiker.\H:
de hostnaam tot de eerste punt (.) in de volledig gekwalificeerde domeinnaam.\W:
de basisnaam van de huidige werkdirectory, met $HUIS afgekort met een tilde (~).\$:
Als de huidige gebruiker root is, geeft u weer #, $ anders.We kunnen bijvoorbeeld overwegen om \!
Als we het geschiedenisnummer van het huidige commando willen weergeven, of \H
als we de FQDN willen weergeven in plaats van de korte servernaam.
In het volgende voorbeeld zullen we beide in onze huidige omgeving importeren door deze opdracht uit te voeren:
PS1="[\[e-mail beveiligd]\H \W \!]$"
Wanneer u op drukt Binnenkomen u zult zien dat de inhoud van de prompt verandert zoals hieronder wordt weergegeven. Vergelijk de prompt voor en na het uitvoeren van de bovenstaande opdracht:
Laten we nu een stap verder gaan en de kleur van de gebruiker en hostnaam in opdrachtprompt - zowel de tekst als de omringende achtergrond.
Eigenlijk kunnen we 3 aspecten van de prompt aanpassen:
Tekstformaat | Voorgrond (tekst) kleur | Achtergrond kleur |
0: normale tekst | 30: Zwart | 40: Zwart |
1: vet | 31: Rood | 41: Rood |
4: Onderstreepte tekst | 32: Groen | 42: Groen |
33: Geel | 43: Geel | |
34: Blauw | 44: Blauw | |
35: Paars | 45: Paars | |
36: Cyaan | 46: Cyaan | |
37: Wit | 47: Wit |
We zullen de gebruiken \e
speciaal teken aan het begin en een m
aan het einde om aan te geven dat wat volgt een kleurenreeks is.
In deze volgorde de drie waarden (achtergrond, formaat, en voorgrond) worden gescheiden door komma's (als er geen waarde wordt gegeven, wordt de standaardwaarde aangenomen).
Voorgesteld lezen:Leer Bash Shell-scripting in Linux
Omdat de waardebereiken verschillend zijn, maakt het ook niet uit welke (achtergrond, formaat, of voorgrond) die u eerst opgeeft.
Bijvoorbeeld het volgende: PS1
zal ervoor zorgen dat de prompt verschijnt in geel onderstreepte tekst met rood achtergrond:
PS1="\e[41;4;33m[\[e-mail beveiligd]\h \W]$ "
Hoe goed het er ook uitziet, deze aanpassing duurt alleen voor de huidige gebruikerssessie. Als u uw terminal sluit of de sessie afsluit, gaan de wijzigingen verloren.
Om deze wijzigingen permanent te maken, moet u de volgende regel toevoegen aan: ~/.bashrc
of ~/.bash_profile
afhankelijk van uw distributie:
PS1="\e[41;4;33m[\[e-mail beveiligd]\h \W]$ "
Voel je vrij om te spelen met de kleuren om te vinden wat het beste bij je past.
In dit artikel hebben we uitgelegd hoe u de kleur en inhoud van uw Bash-prompt kunt aanpassen. Als je vragen of suggesties hebt over dit bericht, gebruik dan het onderstaande reactieformulier om ons te bereiken. We horen graag van u!