Sådan tilpasses Bash-farver og indhold i Linux Terminal Prompt


I dag er Bash standardskallen i de fleste (hvis ikke alle) moderne Linux-distributioner. Du har dog bemærket, at tekstfarven i terminalen og det hurtige indhold kan være forskelligt fra en distro til en anden.

Hvis du har spekuleret på, hvordan du tilpasser dette til bedre tilgængelighed eller blot indfald, skal du fortsætte med at læse - i denne artikel vil vi forklare, hvordan man gør netop det.

PS1 Bash-miljøvariablen

Kommandoprompten og terminaludseendet styres af en miljøvariabel kaldet PS1 . Ifølge Bash-mandsiden repræsenterer PS1 den primære promptstreng, der vises, når skallen er klar til at læse en kommando.

Det tilladte indhold i PS1 består af flere backslash-undslipte specialtegn, hvis betydning er angivet i afsnittet PROMPTING på mandsiden.

For at illustrere, lad os vise det aktuelle indhold af PS1 i vores system (dette kan være noget anderledes i dit tilfælde):

$ echo $PS1

[\[email \h \W]$

Vi vil nu forklare, hvordan man tilpasser PS1 efter vores behov.

Ifølge afsnittet PROMPTING på mandsiden er dette betydningen af hvert specialtegn:

  1. \u: brugernavnet på den aktuelle bruger.
  2. \h: værtsnavnet op til den første prik (.) i det fuldt kvalificerede domænenavn.
  3. \W: basenavnet på den aktuelle arbejdsmappe med $ HOME forkortet med en tilde (~).
  4. \$: Hvis den aktuelle bruger er root, skal du vise #, $ ellers.

For eksempel vil vi måske overveje at tilføje \! Hvis vi vil vise historiknummeret for den aktuelle kommando, eller \H hvis vi vil vise FQDN i stedet for det korte servernavn.

I det følgende eksempel importerer vi begge til vores nuværende miljø ved at udføre denne kommando:

PS1="[\[email \H \W \!]$"

Når du trykker på Enter, vil du se, at promptindholdet ændres som vist nedenfor. Sammenlign prompten før og efter udførelse af ovenstående kommando:

Lad os nu gå et skridt videre og ændre farven på brugeren og værtsnavnet i kommandoprompten - både teksten og dens omgivende baggrund.

Faktisk kan vi tilpasse 3 aspekter af prompten:

Vi bruger specialkoden i starten og en m i slutningen for at indikere, at det, der følger, er en farvesekvens.

I denne rækkefølge adskilles de tre værdier (baggrund, format og forgrund) med kommaer (hvis der ikke gives nogen værdi, antages standardværdien).

Da værdiområderne er forskellige, betyder det ikke noget, hvilken (baggrund, format eller forgrund) du angiver først.

For eksempel vil følgende PS1 få prompten til at vises i gul understreget tekst med rød baggrund:

PS1="\e[41;4;33m[\[email \h \W]$ "

Så godt som det ser ud, vil denne tilpasning kun vare i den aktuelle brugersession. Hvis du lukker din terminal eller afslutter sessionen, går ændringerne tabt.

For at gøre disse ændringer permanente skal du tilføje følgende linje til ~/.bashrc eller ~/.bash_profile afhængigt af din distribution:

PS1="\e[41;4;33m[\[email \h \W]$ "

Du er velkommen til at lege med farverne for at finde det, der fungerer bedst for dig.

I denne artikel har vi forklaret, hvordan du tilpasser farven og indholdet af din Bash-prompt. Hvis du har spørgsmål eller forslag til dette indlæg, er du velkommen til at bruge kommentarformularen nedenfor for at nå os. Vi ser frem til at høre fra dig!