A Simple Function for Printing Colorful Text

Posted June 8, 2005 by hpx in Bourne shell scripting

The following function to print text with colors can be extended easily.

function print_color {
local text=$1
local fg=$2
local bg=$3

#change to right form
case "$fg" in
red) fg="31m" ;;
green) fg="32m" ;;
yellow) fg="33m" ;;
blue) fg="34m" ;;
white) fg="37m" ;;
black) fg="30m" ;;
*) fg="37m" ;;

case "$bg" in
red) bg="41m" ;;
green) bg="42m" ;;
yellow) bg="43m" ;;
blue) bg="44m" ;;
white) bg="47m" ;;
black) bg="40m" ;;
*) bg="40m" ;;

echo -en "\033[$fg\033[$bg$text\033[0m"

The Conversation

Follow the reactions below and share your own thoughts.