Saltar al contenido

Usar colores con printf

Solución:

En lugar de utilizar códigos terminales arcaicos, puedo sugerir la siguiente alternativa. No solo proporciona un código más legible, sino que también le permite mantener la información de color separada de los especificadores de formato tal como lo pretendía originalmente.

blue=$(tput setaf 4)
normal=$(tput sgr0)

printf "%40sn" "${blue}This text is blue${normal}"

Vea mi respuesta AQUÍ para colores adicionales

Estás mezclando las partes en lugar de separarlas limpiamente.

printf 'e[1;34m%-6se[m' "This is text"

Básicamente, ponga las cosas fijas en el formato y las cosas variables en los parámetros.

Esto funciona para mi:

printf "%b" "e[1;34mThis is a blue text.e[0m"

De printf(1):

%b     ARGUMENT as a string with '' escapes interpreted, except that octal
       escapes are of the form  or NNN
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *