Árbol de Navidad en la línea de comando.

Se acerca el año nuevo y ya no quiero pensar en trabajos serios.

Todo el mundo intenta decorar algo para las vacaciones: casa, oficina, lugar de trabajo... ¡Vamos a decorar algo también! Por ejemplo, una línea de comando. Hasta cierto punto, la línea de comando es también un lugar de trabajo.

En algunas distribuciones ya viene “decorado”:

Árbol de Navidad en la línea de comando.

En otros, es gris y discreto:

Árbol de Navidad en la línea de comando.

Y podemos hacer, por ejemplo, así:

Árbol de Navidad en la línea de comando.

Por supuesto, todos los rotuladores tienen gustos y colores diferentes. Si ese color le parece de mal gusto e inapropiado, sepa que este punto de vista tiene todo el derecho a la vida. Y si también desea agregar un poco de espíritu de Año Nuevo, siga leyendo para conocer un breve artículo de Año Nuevo de Cloud4Y.

Primero, explicaré cómo se “colorea” la salida del terminal. Esto se hace mediante secuencias de escape. O más precisamente, las secuencias de códigos de control del terminal ANSI/VT100. Lo que automáticamente significa que su emulador de terminal debe ser compatible con este estándar; de lo contrario, el milagro de Año Nuevo no sucederá. Y sí, se supone que $SHELL es tu fiesta.

Estos comandos se llaman secuencias de escape porque al principio de cada uno de ellos hay un carácter ASCII “escape”. Existen muchas secuencias de control y permiten, por ejemplo, mostrar la configuración del terminal, controlar la visualización y el movimiento del cursor, cambiar la fuente, eliminar y ocultar texto. Elegiremos una entre toda la variedad de posibilidades: cambiar el color del texto y el fondo.

Ejecutar la secuencia del código. *ESC*[{attr1};...;{attrn}m
como símbolo Escapar se utiliza su forma octal, es decir 33. En cuanto a los atributos, aquí hay una breve lista de valores posibles:

0 Restablecer todos los atributos
1 Brillante (mayor brillo)
2 Oscuro
4 Guion bajo
5 Parpadear
7 Contrarrestar
8 Oculto (ocultar texto)

Colores de primer plano (color de lápiz, el texto se muestra en este color):
30 Negro
31 Rojo
32 Verde
33 Amarillo
34 Azul
35 Magenta (magenta)
36 Cian (azul)
37 Blanco

Colores de fondo (color del papel o color de fondo):
40 Negro
41 Rojo
42 Verde
43 Amarillo
44 Azul
45 Magenta (magenta)
46 Cian (azul)
47 Blanco

Tenga en cuenta que si ahora ordena en la terminal: echo 33[0;31mнекоторый текст 33[0m’

... entonces, como era de esperar, obtendrás un galimatías monocromático en la salida:

Árbol de Navidad en la línea de comando.

¿Por qué? Porque era necesario utilizar las capacidades avanzadas del comando echo. Basta agregar una clave: echo -e ‘ 33[0;31mнекоторый текст 33[0m’

La salida ahora se verá correcta:

Árbol de Navidad en la línea de comando.

Hemos solucionado el color de la salida al terminal. Ahora veamos cómo colorear el símbolo del sistema.

Esto se hace cambiando la variable PS1. La variable es responsable de la línea de comando. Su apariencia también se puede cambiar, incluido el uso de secuencias de escape. Pero hay una pequeña diferencia: debes comenzar la secuencia con el símbolo "[”, y termina con el símbolo “]”, de lo contrario se enviará al terminal.

Todas las posibles secuencias de comandos se describen en detalle en el manual de bash, por lo que invito a los lectores a elegir por sí mismos lo que prefieren ver en la línea de comandos. Como ejemplo, daré mi valor para 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

Descifraré este terrible hechizo:

[33[34;1m] — activar el color de fuente azul brillante (segundo atributo)
t – mostrar la hora actual en el formato HH: MM: SS
[33[0m] – restablecer la configuración de color de fuente
, - sólo una coma (inesperado, ¿verdad?)
[33[32m] — activar el color de fuente verde
u@l@h – muestra el nombre de usuario, el número de dispositivo terminal y el nombre corto de host, separados por el símbolo “@”
[33[0m] — restablecer la configuración de color de fuente nuevamente
: - solo dos puntos (¡de repente!)
[33[33m] — activar el color de fuente amarillo
W – mostrar el nombre del directorio actual
[33[0m] — restablecer la configuración de color de fuente nuevamente
, - otra coma (¡quién lo hubiera pensado!)
[33[31m] — activa el color de fuente rojo
! — mostrar el número de comando en la terminal
[33[0m] - no olvides restablecer la configuración del color de fuente
$ — imprime “#” para root y “$” para todos los demás
n - traducción de líneas. ¿Para qué? De modo que el comando comience en el borde izquierdo de la ventana, en lugar de al final de la línea de comando.

¿Dónde redefinir una variable? El lugar más lógico para hacer esto es ~/.bashrc.

La apariencia de la invitación está limitada únicamente por tu imaginación. En principio, nada le impide crear una línea de comando en forma de árbol de Navidad utilizando las herramientas descritas anteriormente. Es cierto que tal invitación será muy engorrosa y el trabajo definitivamente no será más conveniente. El árbol de Navidad se puede mostrar simplemente encima de la línea de comando al iniciar sesión (aún necesitamos editar ~/.bashrc). ¡A por ello! Y gracias por su atención.

Árbol de Navidad en la línea de comando.

¿Qué más puedes leer en el blog? nube4y

Configurando top en GNU/Linux
Pentesters a la vanguardia de la ciberseguridad
Startups que pueden sorprender
¿Se necesitan almohadas en un centro de datos?
La casa que construyó un robot

Suscríbase a nuestro Telegram-canal para que no te pierdas el próximo artículo! No escribimos más de dos veces por semana y solo por negocios. También te recordamos que el proveedor de nube corporativa Cloud4Y ha lanzado la promoción “FZ-152 Cloud a precio regular”. Puedes aplicar hasta el 31 de diciembre.

Fuente: habr.com

Añadir un comentario