Kako prilagoditi Bash boje i sadržaj u odzivniku Linux terminala


Danas je Bash zadana ljuska u većini (ako ne i svim) modernim distribucijama Linuxa. Međutim, možda ste primijetili da se boja teksta u terminalu i sadržaj upita mogu razlikovati od jedne distribucije do druge.

Predloženo za čitanje: 5 najčešće korištenih ljuski otvorenog koda za Linux

U slučaju da ste se pitali kako ovo prilagoditi za bolju pristupačnost ili puki hir, nastavite čitati - u ovom ćemo članku objasniti kako to učiniti.

PS1 Bash varijabla okruženja

Naredbeni redak i izgled terminala regulirani su varijablom okruženja pod nazivom PS1. Prema man stranici Bash, PS1 predstavlja primarni niz upita koji se prikazuje kada je ljuska spremna za čitanje naredbe.

Dopušteni sadržaj u PS1 sastoji se od nekoliko specijalnih znakova koji su izbjegnuti obrnutom kosom crtom čije je značenje navedeno u odjeljku PROMPTING stranice priručnika.

Za ilustraciju, prikažimo trenutni sadržaj PS1 u našem sustavu (ovo može biti nešto drugačije u vašem slučaju):

echo $PS1

[\u@\h \W]$

Sada ćemo objasniti kako prilagoditi PS1 svojim potrebama.

Prilagodba PS1 formata

Prema odjeljku PROMPTING na man stranici, ovo je značenje svakog posebnog znaka:

  1. \u: korisničko ime trenutnog korisnika.
  2. \h: naziv glavnog računala do prve točke (.) u potpuno kvalificiranom nazivu domene.
  3. \W: osnovno ime trenutnog radnog direktorija, s $HOME skraćenim znakom tilde (~).
  4. \$: Ako je trenutačni korisnik root, prikaži #, inače $.

Na primjer, mogli bismo razmotriti dodavanje \! ako želimo prikazati broj povijesti trenutne naredbe ili \H ako želimo prikazati FQDN umjesto kratko ime poslužitelja.

U sljedećem primjeru ćemo oboje uvesti u naše trenutno okruženje izvršavanjem ove naredbe:

PS1="[\u@\H \W \!]$"

Kada pritisnete Enter vidjet ćete da se sadržaj upita mijenja kao što je prikazano u nastavku. Usporedite upit prije i nakon izvršavanja gornje naredbe:

Idemo sada korak dalje i promijenimo boju korisnika i naziva glavnog računala u naredbenom retku – i teksta i okolne pozadine.

Zapravo, možemo prilagoditi 3 aspekta upita:

Text Format Foreground (text) color Background color
0: normal text 30: Black 40: Black
1: bold 31: Red 41: Red
4: Underlined text 32: Green 42: Green
33: Yellow 43: Yellow
34: Blue 44: Blue
35: Purple 45: Purple
36: Cyan 46: Cyan
37: White 47: White

Koristit ćemo poseban znak \e na početku i m na kraju kako bismo označili da je ono što slijedi niz boja.

U ovom nizu tri vrijednosti (pozadina, format i prednji plan) odvojene su zarezima (ako nije dana vrijednost, pretpostavlja se zadana) .

Predloženo za čitanje: Naučite Bash Shell skriptiranje u Linuxu

Također, budući da su rasponi vrijednosti različiti, nije važno koji (pozadina, format ili prednji plan) navedete prvi.

Na primjer, sljedeći PS1 uzrokovat će pojavljivanje upita u žuto podcrtanom tekstu s crvenom pozadinom:

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

Koliko god dobro izgledalo, ova će prilagodba trajati samo trenutnu korisničku sesiju. Ako zatvorite terminal ili izađete iz sesije, promjene će biti izgubljene.

Kako bi ove promjene bile trajne, morat ćete dodati sljedeći redak u ~/.bashrc ili ~/.bash_profile ovisno o vašoj distribuciji:

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

Slobodno se igrajte s bojama kako biste pronašli ono što vam najbolje odgovara.

Sažetak

U ovom smo članku objasnili kako prilagoditi boju i sadržaj vašeg Bash odzivnika. Ako imate pitanja ili prijedloga o ovom postu, slobodno upotrijebite obrazac za komentare u nastavku da nas kontaktirate. Radujemo se vašem odgovoru!