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.