En este artículo veremos como personalizar el prompt de una shell bash (Bourne-again shell) modificando los archivos ~/.bashrc y /etc/bashrc o /etc/bash.bashrc (según que distribución utilicemos).
Nota 1: En distribuciones Debian y basadas en Debian, en /etc encontraremos el archivo bash.bashrc. En otras distribuciones, en /etc nos encontraremos con el archivo bashrc.
Nota 2: Si queremos que los cambios en el prompt solo afecten a un usuario en concreto, tendremos que editar su archivo ~/.bashrc. Por el contrario, si queremos que los cambios afecten a todos los usuarios del sistema, tendremos que editar los archivos /etc/bashrc o /etc/bash.bashrc (según que distribución utilicemos).
Para personalizar el prompt, necesitaremos utilizar las denominadas secuencias de escape.
Las secuencias de escape más comunmente utilizadas son las siguientes:
- \u : Nombre del usuario actual.
- \h : Nombre del host hasta el primer punto (.), por ejemplo, orion del host orion.zeppelinux.es.
- \H : Nombre del host completo.
- \w : Path del directorio de trabajo actual.
- \W : Nombre del directorio de trabajo actual.
- \d : Fecha actual en formato (dia_semana mes día, lun jul 27.
- \t : Hora actual en formato 24 horas (HH:MM:SS).
- \T : Hora actual en formato 12 horas (HH:MM:SS).
- \@ : Hora actual en formato 12 horas (am/pm).
- \n : Nueva línea.
- \r : Retorno de carro (enter/intro).
- \s : Nombre de la shell.
- \v : Versión de bash.
- \V : Numero de la release de bash.
- \! : Número en el historial del comando ejecutado.
- \# : Número de comando de este comando.
- \$ : Si se trada de un usuario normal, aparece un $. Si se trata del usuario root, aparece un #.
- \\ : Barra diagonal.
- \[ : Inicio de una secuencia de caracteres no imprimibles.
- \] : Fin de una secuencia de caracteres no imprimibles.
- Texto o carácter: Escribimos el texto o carácter que deseamos que aparezca sin la barra (\)
A continuación mostramos los pasos que hemos seguido para modificar el prompt:
- Hacemos copia de seguridad del archivo que vayamos a modificar, por si acaso no salen bien las cosas, poder dar marcha a tras y restaurar el archivo sin cambios. En este ejemplo, modificaremos el archivo ~/.bashrc del usuario actual:
$ cp ~/.bashrc ~/.bashrc.back
- Editamos el archivo:
$ nano ~/.bashrc
- Por defecto el prompt de nuestro sistema suele ser similar a este:
username@hostname:~$
Para modificarlo o personalizarlo, al final del archivo agregamos alguno de los códigos siguientes, en función de apariencia que queramos para nuestro prompt. Veamos algunos ejemplos:
- Ocultar nombre del usuario y del hostname (username@hostname):
#Prompt sin nombre de usuario ni de hostname PS1=":\W\$ "
Ahora, nuestro prompt quedará tal que así:
:~$
- Restablecer el prompt por defecto:
Con solo borrar el código del punto anterior o comentarlo, volveríamos a tener el símbolo del prompt por defecto, pero vamos a ver como sería si queremos hacerlo nosotros:#Prompt por defecto PS1="\u@\h:\W\$ "
Ahora, nuestro prompt vuelve a ser:
usuario@hostname:~$
- Añadamos algunos caractéres:
#Prompt con caracteres adicionales PS1="[\u@\h:\W]\$> "
Ahora, nuestro prompt quedará tal que así:
[usuario@hostname:~]$>
- Añadamos la hora actual:
#Prompt con la hora actual PS1="(\t)[\u@\h:\W]\$> "
Ahora, nuestro prompt quedará tal que así:
(12:09:53)[usuario@hostname:~]$>
- Ocultar nombre del usuario y del hostname (username@hostname):
- Tras modificar el archivo ~/.bashrc, guardamos los cambios con el atajo de teclado Ctrl+O y salimos del archivo con el atajo de teclado Ctrl+X.
- Finalmente, para que surtan efecto los cambios, tenemos que recargar el archivo ~/.bashrc. Podemos hacerlo ejecutando el siguiente comando:
$ source ~/.bashrc
Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
Deja una respuesta