lunes, 10 de diciembre de 2018

Dando color al terminal #3

Como se ha visto en entradas anteriores del blog, se puede dar formato al texto del terminal para hacerlo más atractivo y llamativo de cara al usuario.
Inicialmente hemos visto cómo dar color al texto. Posteriormente, se vio cómo aplicar negrita, cursiva y subrayar el texto. En la entrada de hoy vamos a ampliar los estilos que se pueden usar para dar formato al texto del terminal.

Efectos

Parpadeo

El primer efecto que vamos a ver es el de parpadeo. Aplicando el código de escape adecuado conseguimos efectos como el siguiente:
Y el código bash a aplicar, a modo de función, es el siguiente:
function parpadeo(){
    echo -en "\033[5m"
}

parpadeo
echo "Ejemplo parpadeante"

Inversión de colores

En esta ocasión, vamos a invertir los colores del texto y del fondo. Para ello, usaremos el siguiente código bash:
function invertir(){
        echo -en "\033[7m"
}

colorFuente verde; invertir
echo "Ejemplo de texto verde con inversión"; normal
Obteniendo el siguiente resultado:

Colores de fondo
Por último, vamos a ver cómo cambiar el color de fondo para terminar de personalizar el estilo del texto. Los códigos de escape para cada color de fondo son los siguientes:
Color Código
negro \033[40m
rojo \033[41m
verde \033[42m
amarillo \033[43m
azul \033[44m
lila \033[45m
cian \033[46m
blanco \033[47m
Como siempre, se utilizará una función para hacer más cómodo el uso de estos códigos:
function colorFondo(){
        case $1 in
                negro) echo -en "\033[40m" ;;
                rojo) echo -en "\033[41m" ;;
                verde) echo -en "\033[42m" ;;
                amarillo) echo -en "\033[43m" ;;
                azul) echo -en "\033[44m" ;;
                lila) echo -en "\033[45m" ;;
                cian) echo -en "\033[46m" ;;
                blanco) echo -en "\033[47m" ;;
        esac
}
Y podemos obtener resultados como el siguiente: