jueves, 22 de noviembre de 2018

Dando color al terminal

La consola de Linux permite el uso de colores en el texto para dar un toque distinto a nuestras aplicaciones. Estos colores se activan mediante el uso de códigos de escape ANSI.
Por ejemplo, si se desea escribir un texto en rojo pondríamos lo siguiente:
$ echo -e "\033[31mRojo"
Siendo los caracteres iniciales el código de escape ANSI asociado a dicho color.
Los colores que se pueden usar son los siguientes:
  • Negro: \033[30m
  • Rojo: \033[31m
  • Verde: \033[32m
  • Amarillo: \033[33m
  • Azul: \033[34m
  • Lila: \033[35m
  • Cian: \033[36m
  • Blanco: \033[37m
A continuación se muestra una forma práctica de usar estos códigos de escape:
#!/usr/bin/env bash

function colorFuente(){
        case $1 in
                negro) echo -en "\033[30m" ;;
                rojo) echo -en "\033[31m" ;;
                verde) echo -en "\033[32m" ;;
                amarillo) echo -en "\033[33m" ;;
                azul) echo -en "\033[34m" ;;
                lila) echo -en "\033[35m" ;;
                cian) echo -en "\033[36m" ;;
                blanco) echo -en "\033[37m" ;;
        esac
}

echo "Este "`colorFuente negro`"es "`colorFuente rojo`"un "`colorFuente verde`"estupendo "`colorFuente amarillo`"ejemplo "`colorFuente azul`"de "`colorFuente lila`"colores "`colorFuente cian`"muy "`colorFuente blanco`"variados"
El resultado obtenido sería el siguiente: