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.