Hay varias formas de hacerlo.
Una forma es usando tput
:
tput setab 4
establece el color de fondo en azul. Para establecer el color de primer plano, use tput setaf
.
Otra forma es usar escapes ANSI sin procesar, aquí hay una buena documentación:https://misc.flogisoft.com/bash/tip_colors_and_formatting
El comando setterm
se puede utilizar:
setterm -background blue
o
setterm -ba blue
Esto utiliza secuencias de control ECMA-48 estándar y realmente funcionará con muchos (pero no todos) emuladores de terminal. (Al contrario del manual, de hecho no usa terminfo para esta opción). ECMA-48 incluye la noción de un color predeterminado tanto para el fondo como para el primer plano, al que se puede cambiar con default
:
setterm --background default
Para cambiar el color predeterminado, agregue el --store
(que emite una secuencia de control que, sin embargo, solo funciona con el emulador de terminal integrado del kernel de Linux):
setterm --background red --store
Ver man setterm
y setterm --help
para más detalles.
Con xterm
-como emuladores de terminal, puede usar:
xtermcontrol --bg blue
(blue
o cualquier especificación de color compatible con XParseColor(3x)
).
Eso en realidad envía un \33]11;blue\7
secuencia, por lo que puede hacer lo mismo con:
printf '\33]11;%s\a' blue
Consulte Comandos del sistema operativo en el documento Secuencias de control de XTerm para obtener más información.