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:
\u:
korisničko ime trenutnog korisnika.\h:
ime hosta do prve tačke (.) u potpuno kvalificiranom nazivu domene.\W:
basename trenutnog radnog direktorija, sa $HOME skraćeno sa tildom (~).\$:
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!