En el siguiente artículo vamos a echar un vistazo a cómo modificar el prompt de nuestro Ubuntu. Sobre esto ya hablamos en este mismo blog hace algún tiempo, pero en esta ocasión vamos a añadir algunas posibilidades más para personalizar la terminal.
BASH (Bourne–again shell) es el shell predeterminado para la mayoría de las distribuciones modernas de Gnu/Linux. En las siguientes líneas vamos a personalizar el indicador BASH y mejorar su aspecto agregando algunos colores, estilos, modificando elementos, etc. Todo ello sin tener que instalar herramientas, complementos o recurrir a servicios online.
Personaliza el Bash prompt
En BASH, podemos personalizar y cambiar el prompt en la forma que queramos. Solo habrá que cambiar el valor de la variable de entorno PS1. En cada máquina se verá diferente nombre de usuario y nombre de host.
En el equipo en el que voy a probar estos ejemplos, entreunosyceros es mi nombre de usuario y 18-04 es mi nombre de host. A continuación vamos a cambiar este prompt insertando algunos caracteres especiales llamados secuencias de escape.
Antes de continuar y cambiar cosas, siempre es recomendable hacer una copia de seguridad del archivo ~/.bashrc.
cp ~/.bashrc ~/.bashrc.bak
Modificar ‘nombreusuario@nombrehost’ en el prompt
En este ejemplo vamos a reemplazar la parte de ‘nombreusuario@nombrehost’ por ‘Hola@bienvenido>’.
Para hacerlo, agrega lo siguiente a tu archivo ~./bashrc.
export PS1="Hola@bienvenido> "
Una vez terminado, guarda el archivo y vuelve a la terminal. No olvides actualizar los cambios con el comando ‘source ~./bashrc’.
Aquí está la salida del prompt en mi Ubuntu 18.04 LTS.
Mostrar solo el nombre de usuario
Para mostrar solo el nombre de usuario, no hay más que cambiar la anterior línea por la siguiente:
export PS1="\u "
Aquí, \u es la secuencia de escape.
Existen algunos valores más para agregar a la variable PS1 y poder cambiar esto. Hay que recordar que después de añadir algún cambio, debemos ejecutar el comando ‘source ~/.bashrc‘ para que se apliquen los cambios.
Añadir nombre de usuario con nombre de host
export PS1="\u> \h> "
Agregar nombre de usuario y FQDN
Si quieres cualquier letra, por ejemplo @, entre el nombre de usuario y el nombre de host, utiliza la siguiente entrada:
export PS1="\u@\h "
Añade el nombre de usuario con el nombre de host y el símbolo $ al final
export PS1="\u@\h\\$ "
Agregar caracteres especiales entre y después del nombre de usuario y el nombre de host
export PS1="\u@\h> "
Del mismo modo, se pueden agregar otros caracteres especiales, como dos puntos, punto y coma, *, subrayado, espacio, etc.
Mostrar nombre de usuario, nombre de host, nombre de shell
export PS1="\u@\h>\s: "
Mostrar nombre de usuario, nombre de host, shell y su versión
export PS1="\u@\h>\s\v "
Mostrar nombre de usuario, nombre de host y ruta al directorio actual
export PS1="\u@\h\w "
Verás el símbolo ~ si el directorio actual es $HOME.
Visualizar la fecha en el mensaje de BASH
Para mostrar la fecha con tu nombre de usuario y nombre del host en el prompt, agrega lo siguiente en el archivo ~/.bashrc.
export PS1="\u@\h>\d "
Fecha y hora en formato de 12 horas en BASH
export PS1="\d> \@ > "
Fecha y hora 12 formato hh:mm:ss
export PS1="\d> \T> "
Fecha y hora 24 horas
export PS1="\d> \A> "
Fecha y hora en formato 24 horas hh:mm:ss
export PS1="\u@\h> \d\t "
Estas son solo algunas secuencias de escape comunes para cambiar el formato del mensaje Bash. Hay algunas secuencias más disponibles. Puedes verlas todas en la página de manual de bash.
En cualquier momento se puede ver la configuración actual de la variable $PS1 escribiendo en la terminal el comando:
echo $PS1
Coloreando el prompt
Lo que hemos visto hasta ahora es que acabamos de cambiar / agregar algunos elementos al bash prompt. Ahora vamos a modificar los colores a algunos elementos.
Para darle un toque de color al primer plano (texto) y color de fondo a los elementos, como hasta ahora agregaremos un código al archivo ~/.bashrc.
Por ejemplo, para cambiar el color del texto al nombre de host y que pase a verse rojo, agregaremos el siguiente código:
export PS1="\u@\[\e[31m\]\h\[\e[m\] "
Una vez agregado, hay que actualizar los cambios con el comando en la terminal:
source ~/.bashrc
Del mismo modo, para cambiar el color de fondo al nombre del host, el código a utilizar sería este:
export PS1="\u@\[\e[31;46m\]\h\[\e[m\] "
Restaurar la configuración por defecto
Como mencioné al principio, siempre se recomienda realizar una copia de seguridad del archivo ~./bashrc antes de realizar cambios. Por lo tanto, puedes restaurar a la versión de trabajo anterior si algo sale mal. Solo tendrás que reemplazar el archivo ~/.bashrc por el de la copia de seguridad.
Como cambiar el color del prompt cuando se inicia como super usuario
Hola. Logueate en la terminal como root. Dirígete al directorio /root. Ahí encontrarás otro archivo .bashrc. Edítalo y modifica la variable PS1 como se indica en el artículo o como tú prefieras. Guarda los cambios y haz un source ~/.bashrc. Salu2.
Hola mi terminal Linux no me muestra el prompt y por lo tanto no puedo escribir nada que puedo hacer.