Ci sono diversi modi per farlo.
Un modo è usare tput :
tput setab 4 imposta il colore di sfondo su blu. Per impostare il colore di primo piano, usa tput setaf .
Un altro modo è usare gli escape ANSI non elaborati, ecco una buona documentazione:https://misc.flogisoft.com/bash/tip_colors_and_formatting
Il comando setterm può essere utilizzato:
setterm -background blue
o
setterm -ba blue
Questo utilizza sequenze di controllo ECMA-48 standard e funzionerà effettivamente con molti (ma non tutti) emulatori di terminale. (Contrariamente al manuale, in realtà non usa terminfo per questa opzione.) ECMA-48 include la nozione di colore predefinito sia per lo sfondo che per il primo piano a cui si può cambiare con default :
setterm --background default
Per cambiare il colore predefinito, aggiungi --store option (che emette una sequenza di controllo che funziona solo con l'emulatore di terminale integrato nel kernel Linux):
setterm --background red --store
Vedi man setterm e setterm --help per maggiori dettagli.
Con xterm -come emulatori di terminale, puoi usare:
xtermcontrol --bg blue
(blue o qualsiasi specifica di colore supportata da XParseColor(3x) ).
Questo in realtà invia un \33]11;blue\7 sequenza, quindi puoi fare lo stesso con:
printf '\33]11;%s\a' blue
Vedere i comandi del sistema operativo, nel documento Sequenze di controllo XTerm per i dettagli.