Jugando con el prompt de Bash

Ahora que anda de moda la  vulnerabilidad shellshock, por que no darle un look más personalizado, por ahí que alguien ingresa a tu dispositivo sin parchar, al menos darles la bienvenida en mejores trajes 😀

 

Como siempre para hacer estas configuraciones, y es lo más bonito de Linux ó Unix en general, es que puedes configurar todo al milímetro, con un archivo de configuración de texto plano, no hay que ser vagos y darle, que así se hace patria. 🙂

 

Bueno al instalar cualquier distribución de Linux, se encontraran casi siempre con un terminal Bourne-Again SHell, para los amigos BASH y este creara un archivo de configuración (oculto obviamente) en su /home, esos que casi siempre son así  “.*rc”, en nuestro caso .bashrc

 

Así que nos vamos a la terminal (apuntando a nuestra home, obviamente) y lanzamos el comando, en mi caso con el editor nano:

$ [editor] .barshrc

Bueno solo nos interesa ubicar el apartado #prompt y la clave PS1, esta es la que contiene nuestra configuración por default, así que tendremos que manipularla para que quede al gusto de cada quien, así que como antes de que la web llegue a los hogares de muchos, a jugar como cuando niños con la creatividad y mucha imaginación.
Para esto unos alcances, como por ejemplo los códigos de color que se usan:
Negro 0;30 Gris Obscuro 1;30
Azul 0;34 Azul Claro 1;34
Verde 0;32 Verde Claro 1;32
Cyan 0;36 Cyan Claro 1;36
Rojo 0;31 Rojo Claro 1;31
Purpura 0;35 Fucsia 1;35
Café 0;33 Amarillo 1;33
Gris Claro 0;37 Blanco 1;37

Más allá de los colores se puede agregar caracteres especiales, como la hora, nombre del host, saltos de linea, etcétera; basta solamente ingresarlos en el .bashrc  y a disfrutar

\a carácter de campana ASCII (07)
\d la fecha en formato día mes día (p.ej., “mié jul 02”)
\D {format}el formato es proporcionado a strftime(3) y el resultado es insertado en la cadena del indicador; un formato vacío resulta en una representación de fecha especifica local. Las llaves son requeridas.
\e carácter de escape ASCII (033)
\h el nombre del host hasta el primer `.’
\H el nombre del la máquina completo (FQDN)
\j el número de trabajos actualmente gestionados por el interprete
\l el nombre base del dispositivo de terminal del interprete
\n carácter de nueva línea
\r retorno de carro
\s el nombre del interprete, el nombre base de $0 (el fragmento que sigue a la última diagonal)
\t la hora actual en formato 24-horas HH:MM:SS
\T la hora actual en formato 12-horas HH:MM:SS
\@ la hora actual en formato 12-horas AM/PM
\A la hora actual en formato 24-houras HH:MM
\u el nombre del usuario actual
\v la versión del paquete bash (p.ej., 2.00)
\V la versión del paquete bash + el nivel de parche (p.ej., 2.00.0)
\w el directorio actual de trabajo, con el directorio $HOME abreviado con una tilde
\W el nombre base del directorio actual de trabajo, con el directorio $HOME abreviado con una tilde
\! el número del comando actual en el histórico
\# el número de comando del comando actual
\$ si el UID efectivo es 0, un #; en otro caso, $
\nnn el carácter correspondiente al número en octal nnn
\\ una diagonal invertida
\[ inicio de una secuencia de caracteres no imprimibles que pueden usarse para ingresar una secuencia de control en el indicador de la terminal
\] fin de una secuencia de caracteres no imprimibles

 

Los caracteres \[ y \] son importantes, ya que si no están presentes los caracteres especiales no se mostraran como es debido. A continuación mi configuración de prompt:

PS1='\[\e[1;37m\] >> \d \@ \n \[\e[1;31m\]>> HackSeed :) \n \[\e[1;32m\]\u\[\e[1;37m\]@\[\e[0;36m\]\h\[\e[0m\] \W]\$ '

Logrando esto por resultado:

Pues nada diviértanse, personalizando sus prompt en BASH y hasta otro post.
Buenas vibras lectores.
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s