Flash Notes
Programming - Display a colorized message on a "linux" terminal
• How to display a colorized message on a "linux" terminal" ?
Solution
Use escape sequences
Test script
#!/bin/bash
# Constants
# ~~~~~~~~~
red=1
green=2
yellow=3
blue=4
magenta=5
cyan=6
white=7
# Function that displays a colorized message
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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"`
# Display appropriate escape sequence
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo -e '\033[01;3'"$col_num"'m'"$@"'\033[0m'
}
color_display red "Message in RED"
color_display green "Message in GREEN"
color_display yellow "Message in YELLOW"
color_display blue "Message in BLUE"
color_display magenta "Message in MAGENTA"
color_display cyan "Message in CYAN"
color_display white "Message in WHITE"Result
Message in RED Message in GREEN Message in YELLOW Message in BLUE Message in MAGENTA Message in CYAN Message in WHITE

