Il existe plusieurs façons de procéder.
Une façon consiste à utiliser tput :
tput setab 4 définit la couleur d'arrière-plan sur bleu. Pour définir la couleur de premier plan, utilisez tput setaf .
Une autre méthode consiste à utiliser des échappements ANSI bruts, voici une bonne documentation :https://misc.flogisoft.com/bash/tip_colors_and_formatting
La commande setterm peut être utilisé :
setterm -background blue
ou
setterm -ba blue
Cela utilise des séquences de contrôle ECMA-48 standard et fonctionnera réellement avec de nombreux émulateurs de terminaux (mais pas tous). (Contrairement au manuel, il n'utilise en fait pas terminfo pour cette option.) ECMA-48 inclut la notion de couleur par défaut pour l'arrière-plan et l'avant-plan que l'on peut changer avec default :
setterm --background default
Pour changer la couleur par défaut, ajoutez le --store option (qui émet une séquence de contrôle qui ne fonctionne qu'avec l'émulateur de terminal intégré du noyau Linux) :
setterm --background red --store
Voir man setterm et setterm --help pour plus de détails.
Avec xterm -comme les émulateurs de terminaux, vous pouvez utiliser :
xtermcontrol --bg blue
(blue ou toute spécification de couleur prise en charge par XParseColor(3x) ).
Cela envoie en fait un \33]11;blue\7 séquence, vous pouvez donc faire la même chose avec :
printf '\33]11;%s\a' blue
Voir Commandes du système d'exploitation, dans le document XTerm Control Sequences pour plus de détails.