Shell script to control output color


Implementation code:


# ANSI Color -- Use these variables to make output in different colors
# and formats. Color names that end with 'f' are foreground (text) colors,
# and those ending with 'b' are background colors.

 esc="3" # if this doesn't work, enter an ESC directly

 blackf="${esc}[30m";  redf="${esc}[31m";  greenf="${esc}[32m"
 yellowf="${esc}[33m"  bluef="${esc}[34m";  purplef="${esc}[35m"
 cyanf="${esc}[36m";  whitef="${esc}[37m"

 blackb="${esc}[40m";  redb="${esc}[41m";  greenb="${esc}[42m"
 yellowb="${esc}[43m"  blueb="${esc}[44m";  purpleb="${esc}[45m"
 cyanb="${esc}[46m";  whiteb="${esc}[47m"

 boldon="${esc}[1m";  boldoff="${esc}[22m"
 italicson="${esc}[3m"; italicsoff="${esc}[23m"
 ulon="${esc}[4m";   uloff="${esc}[24m"
 invon="${esc}[7m";   invoff="${esc}[27m"


First define the function, then initialize the function, and then you can see the effect.

echo -e ${yellowf}This is a phrase in yellow${redb} and red${reset}
echo -e ${boldon}This is bold${ulon} this is italics${reset} bye bye
echo -e ${italicson}This is italics${italicsoff} and this is not

After you understand it, you can write colorful and dazzling scripts