Com personalitzar els colors i el contingut de Bash a l'indicador de terminal de Linux


Avui, Bash és l'intèrpret d'ordres predeterminat a la majoria (si no totes) les distribucions de Linux modernes. Tanmateix, és possible que hàgiu notat que el color del text al terminal i el contingut de la sol·licitud poden ser diferents d'una distribució a una altra.

En cas que t'hagis preguntat com personalitzar-ho per a una millor accessibilitat o un simple caprici, segueix llegint: en aquest article t'explicarem com fer-ho.

La variable d'entorn PS1 Bash

L'indicador d'ordres i l'aparença del terminal es regeixen per una variable d'entorn anomenada PS1. Segons la pàgina man de Bash, PS1 representa la cadena de sol·licitud principal que es mostra quan l'intèrpret d'ordres està preparat per llegir una ordre.

El contingut permès a PS1 consta de diversos caràcters especials amb barra invertida escapada el significat dels quals es mostra a la secció PROMPTING de la pàgina de manual.

Per il·lustrar-ho, mostrem el contingut actual de PS1 al nostre sistema (això pot ser una mica diferent en el vostre cas):

$ echo $PS1

[\[email \h \W]$

Ara explicarem com personalitzar PS1 segons les nostres necessitats.

D'acord amb la secció PROMPTING a la pàgina de manual, aquest és el significat de cada caràcter especial:

  1. \u: el nom d'usuari de l'usuari actual.
  2. \h: el nom d'amfitrió fins al primer punt (.) del nom de domini totalment qualificat.
  3. \W: el nom base del directori de treball actual, amb $HOME abreujat amb una tilde (~).
  4. \$: Si l'usuari actual és root, mostra #, $en cas contrari.

Per exemple, podem considerar afegir \! Si volem mostrar el número d'historial de l'ordre actual, o \H si volem mostrar el FQDN en lloc de el nom curt del servidor.

A l'exemple següent, importarem tots dos al nostre entorn actual executant aquesta ordre:

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

Quan premeu Intro, veureu que el contingut de la sol·licitud canvia com es mostra a continuació. Compareu l'indicador abans i després d'executar l'ordre anterior:

Ara anem un pas més enllà i canviem el color de l'usuari i el nom d'amfitrió a l'indicador d'ordres, tant el text com el fons que l'envolta.

De fet, podem personalitzar 3 aspectes del missatge:

Utilitzarem el caràcter especial \e al principi i un m al final per indicar que el que segueix és una seqüència de colors.

En aquesta seqüència, els tres valors (fons, format i primer pla) estan separats per comes (si no es dóna cap valor s'assumeix per defecte).

A més, com que els intervals de valors són diferents, no importa quin (de fons, format o primer pla) especifiqueu primer.

Per exemple, el següent PS1 farà que la sol·licitud aparegui en text subratllat groc amb fons vermell:

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

Per molt que sembli, aquesta personalització només durarà per a la sessió actual de l'usuari. Si tanqueu el terminal o sortiu de la sessió, els canvis es perdran.

Per tal de fer que aquests canvis siguin permanents, haureu d'afegir la línia següent a ~/.bashrc o ~/.bash_profile segons la vostra distribució:

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

No dubteu a jugar amb els colors per trobar el que us convingui millor.

En aquest article hem explicat com personalitzar el color i el contingut del vostre missatge de Bash. Si teniu preguntes o suggeriments sobre aquesta publicació, no dubteu a utilitzar el formulari de comentaris a continuació per contactar amb nosaltres. Esperem amb interès tenir notícies teves!