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