Arbre de Nadal a la línia d'ordres

S'acosta l'any nou, no vull pensar més en feina seriosa.

Tothom està intentant decorar alguna cosa per a les vacances: casa, oficina, lloc de treball... Decorem alguna cosa també! Per exemple, un indicador de línia d'ordres. Fins a cert punt, la línia d'ordres també és un lloc de treball.

En algunes distribucions ja està "decorat":

Arbre de Nadal a la línia d'ordres

En altres, és gris i discret:

Arbre de Nadal a la línia d'ordres

I podem fer, per exemple, així:

Arbre de Nadal a la línia d'ordres

Per descomptat, tots els retoladors tenen gustos i colors diferents. Si aquest color us sembla hortera i inadequat, sabeu que aquest punt de vista té tot el dret a la vida. I si també voleu afegir una mica d'esperit d'Any Nou, segueix llegint un breu article d'Any Nou de Cloud4Y.

Primer, explicaré com la sortida del terminal és "de color". Això es fa mitjançant seqüències d'escapament. O més precisament, les seqüències de codi de control del terminal ANSI/VT100. La qual cosa significa automàticament que el vostre emulador de terminal ha de ser compatible amb aquest estàndard, en cas contrari, el miracle d'Any Nou no es produirà. I sí, se suposa que $SHELL és la vostra festa.

Aquestes ordres s'anomenen seqüències d'escapament perquè al començament de cadascuna d'elles hi ha un caràcter ASCII "escapada". Hi ha moltes seqüències de control, i permeten, per exemple, mostrar la configuració del terminal, controlar la visualització i el moviment del cursor, canviar el tipus de lletra, esborrar i amagar text. Escollirem una d'entre tota la varietat de possibilitats: canviant el color del text i el fons.

Executeu la seqüència de codi *ESC*[{attr1};...;{attrn}m
Com a símbol Escapar s'utilitza la seva forma octal, és a dir 33. Pel que fa als atributs, aquí teniu una breu llista de valors possibles:

0 Restableix tots els atributs
1 Brillant (augment de la brillantor)
2 Dim
4 Subratllat
5 Parpellejar
7 Revés
8 Ocult (amaga el text)

Colors de primer pla (color del llapis, el text es mostra en aquest color):
30 Negre
31 Vermell
32 Verd
33 Groc
34 Blau
35 Magenta (magenta)
36 Cian (blau)
37 Blanc (белый)

Colors de fons (color del paper o color de fons):
40 Negre
41 Vermell
42 Verd
43 Groc
44 Blau
45 Magenta (magenta)
46 Cian (blau)
47 Blanc (белый)

Tingueu en compte que si ara ordeneu al terminal: echo 33[0;31mнекоторый текст 33[0m’

... llavors, previsiblement, obtindreu gobbledygook monocrom a la sortida:

Arbre de Nadal a la línia d'ordres

Per què? Perquè era necessari utilitzar les capacitats avançades de l'ordre echo. N'hi ha prou amb afegir una clau: echo -e ‘ 33[0;31mнекоторый текст 33[0m’

La sortida es veurà correcta:

Arbre de Nadal a la línia d'ordres

Hem resolt el color de la sortida al terminal. Ara vegem com acolorir l'indicador d'ordres.

Això es fa canviant la variable PS1. La variable és responsable de la línia d'ordres. El seu aspecte també es pot canviar, inclòs l'ús de seqüències d'escapament. Però hi ha una petita diferència: cal començar la seqüència amb el símbol "[”, i acaba amb el símbol “]”, en cas contrari sortirà al terminal.

Totes les seqüències d'ordres possibles es descriuen detalladament al manual de bash, de manera que convido els lectors a triar per si mateixos el que prefereixen veure a la línia d'ordres. Com a exemple, donaré el meu valor per a la variable PS1:

[ 33[34;1m]t[ 33[0m],[ 33[32m]u@l@h[ 33[0m]:[ 33[33m]W[ 33[0m],[ 33
[31m]![ 33[0m]$n

Desxifraré aquest terrible encanteri:

[ 33[34;1m] — activeu el color de lletra blau brillant (segon atribut).
t – mostrar l'hora actual en el format HH: MM: SS
[ 33[0m] - restablir la configuració del color de la lletra
, - només una coma (inesperat, oi?)
[ 33[32m] — activeu el color de lletra verd
tu@l@h – mostrar el nom d'usuari, el número del dispositiu terminal i el nom d'amfitrió curt, separats pel símbol “@”.
[ 33[0m] — restablir la configuració del color de la lletra de nou
: - només dos punts (de sobte!)
[ 33[33m] - activeu el color de lletra groc
W – mostrar el nom del directori actual
[ 33[0m] — restablir la configuració del color de la lletra de nou
, - una altra coma (qui ho hauria pensat!)
[ 33[31m] — activeu el color de la lletra vermella
! — Mostra el número d'ordre al terminal
[ 33[0m] - no us oblideu de restablir la configuració del color de la lletra
$ — imprimiu “#” per a l'arrel i “$” per a tots els altres
n - Traducció de línia. Per a què? De manera que l'ordre comenci a la vora esquerra de la finestra, en lloc del final de la línia d'ordres.

On redefinir una variable? El lloc més lògic per fer-ho és ~/.bashrc.

L'aspecte de la invitació només està limitat per la vostra imaginació. En principi, res no us impedeix fer un indicador de línia d'ordres en forma d'arbre de Nadal utilitzant les eines descrites anteriorment. És cert que aquesta invitació serà molt feixuga i la feina definitivament no serà més convenient. L'arbre de Nadal simplement es pot mostrar a sobre de l'indicador de la línia d'ordres quan iniciem sessió (encara hem d'editar ~/.bashrc). Fes-ho! I gràcies per la vostra atenció.

Arbre de Nadal a la línia d'ordres

Què més pots llegir al blog? Núvol4Y

Configuració de la part superior a GNU/Linux
Pentesters a l'avantguarda de la ciberseguretat
Startups que poden sorprendre
Es necessiten coixins en un centre de dades?
La casa que va construir un robot

Subscriu-te al nostre telegram-canal perquè no et perdis el següent article! Escrivim no més de dues vegades per setmana i només per negocis. També us recordem que el proveïdor de núvol corporatiu Cloud4Y ha llançat la promoció "FZ-152 Cloud a preu normal". Podeu sol·licitar fins al 31 de desembre.

Font: www.habr.com

Afegeix comentari