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


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

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

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

PS1 Bash varijabla okruženja

Komandnom linijom i izgledom terminala upravlja varijabla okruženja koja se zove PS1. Prema Bash man stranici, PS1 predstavlja primarni string prompta koji se prikazuje kada je ljuska spremna za čitanje komande.

Dozvoljeni sadržaj u PS1 sastoji se od nekoliko specijalnih znakova zaklonjenih obrnutom kosom crtom čije je značenje navedeno u PROMPTING odjeljku man stranice.

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

echo $PS1

[\u@\h \W]$

Sada ćemo objasniti kako prilagoditi PS1 prema našim potrebama.

Prilagođavanje PS1 formata

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

  1. \u: korisničko ime trenutnog korisnika.
  2. \h: ime hosta do prve tačke (.) u potpuno kvalificiranom nazivu domene.
  3. \W: basename trenutnog radnog direktorija, sa $HOME skraćeno sa tildom (~).
  4. \$: Ako je trenutni korisnik root, prikaži #, u suprotnom $.

Na primjer, mogli bismo razmotriti dodavanje \! Ako želimo prikazati historijski broj trenutne naredbe, ili \H ako želimo prikazati FQDN umjesto kratko ime servera.

U sljedećem primjeru ćemo uvesti oboje 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 ispod. Uporedite prompt prije i nakon izvršavanja gornje naredbe:

Sada idemo korak dalje i promijenimo boju korisnika i ime hosta u komandnoj liniji – i teksta i okolne pozadine.

Zapravo, možemo prilagoditi 3 aspekta prompta:

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 specijalni znak \e na početku i m na kraju da označimo da je ono što slijedi niz boja.

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

Preporučeno čitanje: Naučite Bash Shell skriptiranje u Linuxu

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

Na primjer, sljedeći PS1 će uzrokovati da se upit pojavi u žuto podvučenom tekstu sa crvenom pozadinom:

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

Koliko god dobro izgledalo, ovo prilagođavanje će trajati samo za trenutnu korisničku sesiju. Ako zatvorite svoj terminal ili izađete iz sesije, promjene će biti izgubljene.

Da bi ove promjene bile trajne, morat ćete dodati sljedeći red u ~/.bashrc ili ~/.bash_profile u zavisnosti od vaše distribucije:

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

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

Sažetak

U ovom članku smo objasnili kako prilagoditi boju i sadržaj vašeg Bash prompta. Ako imate pitanja ili sugestije u vezi sa ovom objavom, slobodno koristite formular za komentare ispod kako biste nas kontaktirali. Radujemo se Vašem odgovoru!