Si acostumbras trabajar en la línea de comandos, muy posiblemente uses el shell bash (Bourne Again Shell, derivado del bourne shell de Unix), con un simple echo de la variable $SHELL puedes determinarlo: . Si es el caso, entonces tu prompt debe de verse parecido a este:
[sergio@linuxtotal ~]$
[sergio@linuxtotal ~]$ cd /etc [sergio@linuxtotal etc]$
Algo útil, pero porque mejor no personalizarlo a nuestro gusto, asi que empezemos por partes.
Secuencias de escape para el prompt
El prompt se establece a través de la variable de entorno PS1:
[sergio@linuxtotal ~]$ echo $PS1 [\u@\h \W]\$
Se puede apreciar que se utilizan secuencias de escapes para ir construyendo el prompt, cada secuencia se indica con '\' seguido de un comando como 'u' (user) o 'h' (host), los demás caracteres como [,],@, espacio, etc. son opcionales y puedes elegirlos tu al acomodo que desees, las secuencias de escape son las siguientes:
- \a un caracter ASCII de ring
- \d la fecha actual en formato "dia_sem mes día", "dom nov 18"
- \e un caracter ASCII de escape
- \h el nombre del equipo hasta el primer ., ejemplo linuxtotal de linuxtotal.com.mx
- \H el nombre del equipo
- \n nueva línea
- \r retorno de carro, enter
- \s el nombre del shell
- \t el tiempo actual en formato de 24 horas HH:MM:SS
- \T el tiempo actual en formato de 12 horas HH:MM:SS
- \@ el tiempo actual en formaro de 12 horas con am/pm
- \u el usuario actual
- \v la version de bash
- \V el número de release de batch, versión + parche
- \w el directorio de trabajo actual, path
- \W el nombre del directorio actual
- \! el número en el historial del comando
- \# el número de comando de este comando
- \$ si el usuario es root (UID=0) se indica un '#', un usuario normal '$'
- \\ diagonal
- \[ inicio de una secuencia de caracteres no imprimibles
- \] fin de la secuencia de caracteres no imprimibles
Conociendo lo anterior podemos ahora tener un nuevo prompt:
[sergio@linuxtotal etc]$ PS1='(\t)[\u-\W]\$> ' (19:26:02)[sergon-etc]$>
Solo se indica el cambio a PS1, con PS1=' ', entre las comillas simples va la nueva secuencia que se desea, asi que personaliza el tuyo.
Añade color a tu prompt
El shell esta lleno comandos muy poco usados, uno de estos es , que permite cambiar las características o capacidades disponibles para la terminal, disponibles a través de la base de datos llamada terminfo. Entre las características (hay bastantes) que podemos modificar de una terminal están el color de fondo y de frente (background y foreground) del texto a través de las siguientes opciones:
- setaf [0-7] cambia el color de frente
- setab [0-7] cambia el color de fondo
- bold modo negritas
- dim modo de poco brillo
- sgr0 apaga las características o atributos que se hayan indicado previamente
En cuanto a los códigos de color son los siguientes
- 0 negro
- 1 rojo
- 2 verde
- 3 cafe
- 4 azul
- 5 morado
- 6 cyan
- 7 gris
Puedes probar en una terminal escribiendo lo siguiente: y el texto se cambiará a rojo y puedes añadir por ejemplo un fondo verde
y te dará un fondo verde para el text. Asi que digamos, en base al prompt anterior, que se desea la hora en rojo y negritas, esto lo haría:(20:05:52)[sergon-~]$> PS1='\[$(tput setaf 1)(\t)$(tput sgr0)\][\u-\W]\$> ' [sergon-~]$>
mmmm, un poco complicado, veamos por partes:
No es tan complicado una vez que entendimos lo que sucede. Y es posible agregar más características en un sola invocación de $(), .
Ahora bien, una vez cambiado tu prompt, este no permanecerá así, si cierras la sesión o la terminal y vuelves a ingresar, notarás que sigues con tu mismo y aburrido prompt de siempre, el cambio a la variable PS1 hay que agregarlo a tu archivo de inicialización de tu sesión, generalmente '.bashrc' o '.bash_profile', incluso podrías poner los colores en variables, para facilitar el uso de la definición de PS1:
# se añade lo siguiente a .bashrc # colores del texto rojo=$(tput setaf 1) verde=$(tput setaf 2) # colores de fondo azulF=$(tput setab 4) grisF=$(tput setab 7) # sin color sc=$(tput sgr0) PS1='\[$rojo(\t)$sc\][\u-\W]\$> '
Pues ahí lo tienes, ahora cambia tu prompt a algo que te agrade más a ti y te sea más útil.
Fuente: linuxtotal
No hay comentarios:
Publicar un comentario