Abr 092014
 

Normalmente, un terminal interactivo en un sistema linux presenta un pequeño texto (“prompt”) indicando que está a la espera de recibir un comando. Por defecto, este prompt suele presentar el nombre del equipo, o bien el directorio en curso, o ambos.

Pero en ocasiones puede interesarnos modificar este prompt para que nos presente otro tipo de información. En este artículo examinamos las posibilidades existentes a este respecto.

Las variables de entorno PS1, PS2

PS1

En un terminal que ejecuta bash, el formato del prompt está especificado en la variable de entorno PS1. Para cambiarlo, basta con asignar un valor distinto a esta variable. Por ejemplo:

En el ejemplo, vemos que el valor inicial de la variable contiene una especificación de formato un tanto críptica. El resultado es que el prompt que se presenta (“usuario@squeeze:~$ “) se construye concatenando:

  • el nombre del usuario (En el ejemplo, “usuario”)
  • El carácter “@”
  • El nombre del servidor (En el ejemplo, “squeeze”)
  • El carácter “:”
  • El directorio en curso (En el ejemplo, “~”, que es el directorio de login)
  • El carácter “$” y un espacio en blanco

Más adelante analizaremos en detalle esta especificación de formato.

PS2

El valor de PS2 se utiliza como el prompt secundario que se presenta cuando el usuario tiene que introducir información adicional para finalizar un comando. Por ejemplo:

Especificadores de formato del prompt

Como hemos visto, el prompt puede incluir una serie de especificadores, precedidos por el carácter “\”, que son sustituidos por sus correspondientes valores en el momento de presentarlo. Así en el ejemplo anterior, hemos visto algunos de ellos:

  • \u : El nombre de usuario
  • \h : el nombre del equipo (hostname), hasta el primer carácter “.”
  • \w : el directorio en curso (working directory), en el cual el directorio de login se sustituye por una tilde.

Pero existen muchos otros especificadores que nos puede interesar utilizar en algún momento. entre ellos:

  • \d : la fecha en formato “día-de-la-semana mes día-del-mes” (p.ej.., “Tue May 26”)
  • \t : la hora actual en formato HH:MM:SS de 24 horas
  • \! : el número del comando el el historial de comandos

Por útlimo, para hacer permanente el cambio, basta con añadir al fichero .bashrc la sentencia de asignación de valor a PS1

Referencias:

Howto: Change / Setup Bash custom prompt (PS1)

 Publicado por en 2:48 pm

 Deja un comentario

(requerido)

(requerido)