Árbolito en la línea de comandos

Pronto será Año Nuevo, ya no tengo ganas de pensar en trabajo serio.

Todos intentan decorar algo para las fiestas: la casa, la oficina, el lugar de trabajo... ¡Decoremos algo también! Por ejemplo, la línea de comandos. De alguna manera, la línea de comandos también es un lugar de trabajo.

En algunas distribuciones ya está "decorada":

Árbolito en la línea de comandos

En otras, es gris y poco llamativa:

Árbolito en la línea de comandos

Y podemos hacerlo, por ejemplo, así:

Árbolito en la línea de comandos

Por supuesto, para gusto y color hay marcadores de diferentes tipos. Si esta decoración te parece exagerada e inapropiada, sabes que esa opinión tiene todo el derecho de existir. Y si también deseas agregar un poco del espíritu navideño, sigue leyendo este breve artículo navideño de Cloud4Y.

Para comenzar, explicaré cómo se "decora" la salida del terminal. Esto se hace mediante secuencias de escape. Más específicamente, mediante las secuencias de códigos de control ANSI/VT100 del terminal. Lo que significa automáticamente que tu emulador de terminal debe soportar este estándar; de lo contrario, no habrá ningún milagro navideño. Y sí, se asume que tienes $SHELL configurado como bash.

A estas órdenes se les llama secuencias de escape porque al inicio de cada una de ellas va el símbolo ASCII "escape". Hay muchas secuencias de control, y permiten, por ejemplo, mostrar configuraciones del terminal, controlar la visualización y el movimiento del cursor, cambiar la fuente, eliminar y ocultar texto. De todo este abanico de posibilidades, elegiremos una: el cambio de color del texto y del fondo.

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

0 Restablecer todos los atributos
1 Brillante (mayor brillo)
2 Tenue (bajo brillo)
4 Subrayado
5 Parpadeo
7 Inversión
8 Ocultar texto

Colores de primer plano (color de pluma, este color se utiliza para mostrar el texto):
30 Negro
31 Rojo
32 Verde
33 Amarillo
34 Azul
35 Magenta
36 Cian
37 Blanco

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

Ten en cuenta que si ahora ejecutas en el terminal: echo 33[0;31malgún texto 33[0m’

… predeciblemente recibirás un engendro monocolor:

Árbolito en la línea de comandos

¿Por qué? Porque debías aprovechar las capacidades extendidas del comando echo. Solo necesitas agregar una opción: echo -e ‘ 33[0;31mtxt algunos 33[0m’

Ahora la salida se verá correctamente:

Árbolito en la línea de comandos

Hemos resuelto la coloración de la salida en la terminal. Ahora veamos cómo colorear el símbolo del sistema.

Esto se hace a través de la modificación de la variable PS1. Esta variable es responsable del símbolo del sistema. Su apariencia también se puede cambiar, incluyendo mediante secuencias de escape. Pero hay una pequeña diferencia: la secuencia debe comenzar con el símbolo “[”, y terminar con el símbolo “]”, de lo contrario se mostrará en la terminal.

Todas las posibles secuencias de comandos están detalladas en el manual de bash, así que sugiero a los lectores que elijan por sí mismos lo que prefieren ver en el símbolo del sistema. Como ejemplo, aquí está 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

Voy a descifrar este extraño hechizo:

[ 33[34;1m] — activamos el color de fuente azul brillante (segundo atributo)
t – mostramos la hora actual en formato HH:MM:SS
[ 33[0m] – restablecemos la configuración del color de la fuente
, — simplemente una coma (curioso, ¿verdad?)
[ 33[32m] — activamos el color de fuente verde
u@l@h – mostramos el nombre de usuario, el número del dispositivo terminal y el nombre corto del host, separándolos con el símbolo “@”
[ 33[0m] — de nuevo restablecemos la configuración del color de la fuente
: — simplemente un dos puntos (¡sorpresa!)
[ 33[33m] — activamos el color de fuente amarillo
W – mostramos el nombre del directorio actual
[ 33[0m] — nuevamente restablecemos la configuración del color de la fuente
, — otra coma (¡quién lo hubiera pensado!)
[ 33[31m] — activamos el color de fuente rojo
! — mostramos el número de comando en la terminal
[ 33[0m] — no olvidemos restablecer la configuración del color de la fuente
$ — mostramos “#” para root y “$” para todos los demás
n – salto de línea. ¿Por qué? Para que el comando comience desde el borde izquierdo de la ventana, y no desde la posición final del símbolo del sistema.

¿Dónde redefinir la variable? Lo más lógico es hacerlo en ~/.bashrc.

La apariencia del símbolo del sistema está limitada solo por tu imaginación. En principio, no hay nada que te impida, usando las herramientas mencionadas, hacer un símbolo del sistema en forma de árbol de Navidad. Sin embargo, este tipo de símbolo será bastante voluminoso, y no hará que trabajar sea más cómodo. Puedes simplemente mostrar el árbol por encima del símbolo del sistema al iniciar sesión (de todos modos, necesitamos editar ~/.bashrc). ¡Atrévete! Y gracias por tu atención.

Árbolito en la línea de comandos

¿Qué más útil se puede leer en el blog? Cloud4Y

→ Configurando top en GNU/Linux
→ Pentesters en la primera línea de la ciberseguridad
→ Startups capaces de sorprender
→ ¿Se necesitan almohadas en los centros de datos?
→ La casa que construyó el robot

Suscríbete a nuestro Telegram-canal para no perder el próximo artículo. Escribimos no más de dos veces por semana y solo lo necesario. También recordamos que el proveedor nube corporativa Cloud4Y ha lanzado la promoción «Nube FZ-152 al precio habitual». Se puede presentar una solicitud hasta el 31 de diciembre.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster