Añadir color al shell (Bash)

última actualización el 26 de junio de 2009, 21:54 por Carlos-vialfa
Publicado por Carlos-vialfa


Utilidad


Personalizando el color de los caracteres del promt (o del shell), se los hace más visibles. Si adoptas una convención de colores, podrás transmitir lo que quieres expresar según el color, y además evitar tener un shell demasiado monótono.

Qué información pueden ser transmitida mediante los colores


Puedes poner el prompt en verde para una máquina anfitriona y en azul para otra, o en verde si el sistema no está sobrecargado, en amarillo si está un poco y en rojo si casi todos los recursos están siendo utilizados. O simplemente puedes elegir un color determinado para el prompt de usuario root.

Las técnicas


Existen dos técnicas. La más utilizada (pero no la más eficaz) consiste en insertar caracteres de escape (estos tienen un significado especial para el interprete de ordenes). Por ejemplo, la siguiente cadena muestra el prompt en azul:

$ PS1="\[\033[0;34m\][\u@\h]\[\033[0m\]"


Este método presenta dos inconvenientes: su sintaxis no es muy sencilla, lo que provoca errores al escribirla, y sólo puede ser utilizado si la ventana del terminal soporta las secuencias de escape ANSI, lo que no es el caso para muchos terminales, ni para programas de emulación de terminales. Es mejor utilizar la técnica basada en tput.

Técnica de tput


Cuando añades color al prompt (o al shell) con tput, las definiciones pueden ser aplicadas a otros emuladores de terminales. tput sabe que secuencias de escape se deben utilizar, lo que te evita esta fastidiosa búsqueda.

$ BLUE=$ (tput setaf 4)
$ BLACK=$ (tput setaf 0)
$ PS1="\ [$BLUE\] \u@\h] \ [$BLACK\] "


Interpretemos estas líneas:
La primer línea del ejemplo utiliza tput para definir una variable que contiene la secuencia de caracteres para poner el color de frente en Azul (para los próximos caracteres a mostrar). La segunda línea hace lo mismo para el negro. No es necesario conocer las secuencias de escape, ya que tput maneja un archivo de correspondencia de las descripciones para todos los terminales, el cual consulta para encontrar la secuencia apropiada al terminal físico o emulado. La tercera línea, utiliza las dos variables $BLUE y $BLACK en la definición de la variable $PS1.
Pero tput puede hacer mucho más que añadir color a los caracteres del shell.

Nota: Puedes mostrar la lista completa mediante los comandos man tput y man terminfo.

PD: El artículo original fue escrito por Kharec, contribuidor de CommentCaMarche
Mejores respuestas para « Añadir color al shell (Bash) » en :
Guia de uso del Shell para principiantes Ver SHELL BASH – GUIA DE USO – Nivel Principiante Introducción Llamado a los miembros de Kioskea II. ¿Qué es el Shell? III. Cómo acceder a la línea de comandos IV. Las consolas virtuales Ejemplo: Acceder a la consola 3 desde la interfaz...
Sistema UNIX: El shell Ver Introducción al shell El intérprete de comandos es la interfaz entre el usuario y el sistema operativo, por este motivo se le da el nombre "shell", que en castellano significa "caparazón". Por lo tanto, el shell actúa como un intermediario entre el...
Trucos y astucias para MSN Messenger VerSe requiere mínimo la versión 7.5 con Messenger Plus! 1- Colorear el SEUDONIMO 2- Colorear el MENSAJE PERSONAL 3- Poner emoticones al seudónimo o al mensaje personal 1- Colorear el SEUDONIMO En la ventana de diálogo de WLM ingresa « /...
Ejecutar un script VerEjecución de un script Para poder ejecutar un script o un programa en línea de comandos existen varias posibilidades: 1. La ruta absoluta 2. La ruta relativa 3. Modificar la variable PATH En primer lugar convierte el script...
Como usar el comando "su" VerPreámbulo Conectarse con otro ID de usuario con "su" Iniciar un nuevo shell de conexión con "su -" Volver al shell anterior Suspender el shell de la cuenta root Notas Preámbulo El comando "su" (Switch User, llamado (sin ser la buena...
Descargar BodyPaint 3D VerBodyPaint 3d es una poderosa herramienta que ofrece el control total sobre las disitintas texturas con layers y filtros. Contaremos con la opcion de poder editar y dar color al personaje todo a la preferencia del usuario, el único límite será...
Administración de imágenes en HTML Ver¿Cómo mostrar imágenes en una página Web? Tener algunas imágenes en un sitio Web lo hace más atractivo e intuitivo. Sin embargo, es importante no excederse ya que las imágenes pueden llevar mucho tiempo en cargarse y, en algunos casos, pueden hacer...
Párrafos en HTML VerPárrafos HTML considera que los párrafos son bloques de texto. Los navegadores hacen lo posible para adaptar el contenido de los párrafos a la ventana, a menos que los atributos NOWRAP o NOBR estén explícitamente especificados. Dentro de un párrafo,...
Linux - Shell VerIntroducción a la shell El intérprete de comandos es la interfaz entre el usuario y el sistema operativo. Por esta razón, se le da el nombre inglés "shell", que significa "caparazón". Por lo tanto, la shell actúa como un intermediario entre el...