Logotipo BASH (Bourne-again Shell)

Modificar el prompt en una Shell Bash

 
 

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:

  1. 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
  2. Editamos el archivo:
    $ nano ~/.bashrc
  3. 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:~]$>
  4. 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.
  5. 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.
 
Seguir J. Carlos:

Técnico Informático - Desarrollo Web - Administración de Redes

Técnico Informático. Desarrollo Web. Administración de redes.

Últimas publicaciones de

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.