Flash Notes
Programmation - Affichage d'un message en couleur sur un terminal "linux"
• Comment afficher un message en couleur sur un terminal "linux" ?
Solution
Utiliser les séquences d'échappement
Script de test
#!/bin/bash
# Constantes
# ~~~~~~~~~~
red=1
green=2
yellow=3
blue=4
magenta=5
cyan=6
white=7
# Fonction d'affichage d'un message en couleur
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
color_display()
{
col="$1"
shift
case "$col" in
R|red) col="red" ;;
G|green) col="green" ;;
Y|yellow) col="yellow" ;;
B|blue) col="blue" ;;
M|magenta) col="magenta" ;;
C|cyan) col="cyan" ;;
W|white) col="white" ;;
*) error " Unknown color : \"$col\" !"
exit 1
;;
esac
col_num=`eval echo '$'"$col"`
# Affichage de la sequence d'echappement appropriee
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo -e '\033[01;3'"$col_num"'m'"$@"'\033[0m'
}
color_display red "Message en ROUGE"
color_display green "Message en VERT"
color_display yellow "Message en JAUNE"
color_display blue "Message en BLEU"
color_display magenta "Message en MAGENTA"
color_display cyan "Message en CYAN"
color_display white "Message en BLANC"Résultat
Message en ROUGE Message en VERT Message en JAUNE Message en BLEU Message en MAGENTA Message en CYAN Message en BLANC

