Árbol de navidad en la línea de comando

Pronto el año nuevo, no quiero pensar en un trabajo serio.

Todos están tratando de decorar algo para las vacaciones: hogar, oficina, lugar de trabajo ... ¡Déjenos y decoraremos algo! Por ejemplo, un símbolo del sistema. Hasta cierto punto, la línea de comando también es un lugar de trabajo.

En algunas distribuciones, ya está "decorado":



En otros, es gris y discreto:



Y podemos hacer, por ejemplo, así:



Por supuesto, el sabor y el color de todos los marcadores son diferentes. Si ese color te parece torpe e inapropiado, entonces debes saber que este punto de vista tiene todo el derecho a la vida. Y si también desea agregar un poco de ánimo de Año Nuevo, siga leyendo para obtener un pequeño artículo de Año Nuevo de Cloud4Y.

Primero, explicaré cómo se "colorea" la salida del terminal. Esto se hace usando secuencias de escape. Y más precisamente: las secuencias de código 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 tiene $ SHELL bash.

Estos comandos se llaman secuencias de escape por la razón de que al comienzo de cada una de ellas se encuentra el carácter de escape ASCII. Hay 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 de toda la variedad de posibilidades: cambiar el color del texto y el fondo.

*ESC*[{attr1};...;{attrn}m la secuencia de código *ESC*[{attr1};...;{attrn}m
Como el carácter de escape , se utiliza su forma octal, es decir, \ 033 . En cuanto a los atributos, aquí hay una breve lista de posibles valores:

0 Restablecer todos los atributos.
1 brillante
2 tenue
4 subrayado (subrayado)
5 parpadeo
7 revés
8 Oculto (ocultar texto)

Colores de primer plano (color del 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 de 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 el terminal: echo \033[0;31m \033[0m'

... entonces previsiblemente obtendrá un abracadabra monocromo como salida:



Por qué Porque era necesario usar las funciones avanzadas del comando echo. Es suficiente agregar una clave: echo -e '\033[0;31m \033[0m'

Ahora la salida se verá bien:



Con el color de la salida al terminal resuelto. Ahora veamos cómo colorear la línea de comandos.

Esto se hace cambiando la variable PS1. La variable es responsable de la línea de comandos. Su apariencia también se puede cambiar, incluido el uso de secuencias de escape. Pero hay una ligera diferencia: debe comenzar la secuencia con el carácter “ \ [ ” y finalizar con el carácter “ \] ”, de lo contrario, se mostrará en el terminal.

Todas las secuencias de comandos posibles se describen en detalle en el manual de bash, por lo que sugiero a los lectores que elijan por sí mismos lo que les gusta observar en el símbolo del sistema. Como ejemplo, daré mi valor a la variable PS1:

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

Descifraré este terrible hechizo:

\ [\ 033 [34; 1m \] - activa el color de fuente azul brillante (segundo atributo)
\ t - muestra la hora actual en el formato HH: MM: SS
\ [\ 033 [0m \] - restablece la configuración del color de fuente
, - solo una coma (inesperadamente, ¿verdad?)
\ [\ 033 [32m \] - activa el color verde de la fuente
\ u @ \ l @ \ h : muestra el nombre de usuario, el número de dispositivo terminal y el nombre de host corto, separados por el símbolo "@"
[\ 033 [0m \] - restablece la configuración de color de fuente nuevamente
: - solo dos puntos (de repente!)
\ [\ 033 [33m \] - activa el color amarillo de la fuente
\ W - imprime el nombre del directorio actual
[\ 033 [0m \] - nuevamente restablece la configuración de color de fuente
- otra coma (¡quién lo hubiera pensado!)
\ [\ 033 [31m \] - activa el color rojo de la fuente
\! - imprima el número de comando en la terminal
[\ 033 [0m \] : no olvide restablecer la configuración de color de fuente
\ $ - imprime "#" para root y "$" para todos los demás
\ n - avance de línea. Por qué Para que el comando comience desde el borde izquierdo de la ventana, y no desde la posición del final del símbolo del sistema.

¿Dónde anular una variable? La forma más lógica de hacer esto es en ~ / .bashrc.

La apariencia de la invitación está limitada solo por su imaginación. En principio, nada le impide usar las herramientas anteriores para hacer una línea de comando en forma de árbol de Navidad. Es cierto que tal invitación será muy engorrosa, y el trabajo ciertamente no será más conveniente. El árbol de Navidad simplemente se puede mostrar encima de la línea de comandos en el inicio de sesión (aún necesitamos editar ~ / .bashrc). ¡A por ello! Y gracias por mirar.



¿Qué más es útil para leer en el blog de Cloud4Y?

Configurar top en GNU / Linux
Pentesters a la vanguardia de la ciberseguridad
Startups que pueden sorprender
¿Necesita almohadas en el centro de datos?
→ La casa que construyó el robot

¡Suscríbete a nuestro canal de Telegram para no perderte otro artículo! No escribimos más de dos veces por semana y solo por negocios. También le recordamos que Cloud4Y, el proveedor corporativo de la nube, lanzó la promoción "FZ-152 Cloud por el precio de una promoción regular". Puede solicitar hasta el 31 de diciembre .

Source: https://habr.com/ru/post/480788/


All Articles