ShellHacks Command-Line Tips and Tricks Blog Bash Colors Posted on December 27, 2016by admin You can make your BASH script more pretty, by colorizing its output. Use ANSI escape sequences to set text properties like foreground and background colors. Colorizing Shell Use the following template for writing colored text: echo -e "\e[COLORmSample Text\e[0m" Option Description -e Enable interpretation of backslash escapes \e[ Begin the color modifications COLORm Color Code + ‘m’ at the end \e[0m End the color modifications Examples: $ echo -e "\e[31mRed Text\e[0m" Red Text $ echo -e "\e[42mGreen Background\e[0m" Green Background ANSI — Color Escape Codes Shell scripts commonly use ANSI escape codes for color output: Color Foreground Code Background Code Sample Black 30 40 Red 31 41 Green 32 42 Brown 33 43 Blue 34 44 Purple 35 45 Cyan 36 46 Light Gray 37 47 Escape sequence also allows to control the manner in which characters are displayed on the screen: ANSI Code Description 0 Normal Characters 1 Bold Characters 4 Underlined Characters 5 Blinking Characters 7 Reverse video Characters Examples: $ echo -e "\e[1mBold Text\e[0m" Bold Text $ echo -e "\e[3mUnderlined Text\e[0m" Underlined Text By combining all these escape sequences, we can get more fancy effect. echo -e "\e[COLOR1;COLOR2mSample Text\e[0m" There are some differences between colors when combining colors with bold text attribute: Color Foreground Code Background Code Sample Dark Gray 1;30 1;40 Light Red 1;31 1;41 Light Green 1;32 1;42 Yellow 1;33 1;43 Light Blue 1;34 1;44 Light Purple 1;35 1;45 Light Cyan 1;36 1;46 White 1;37 1;47 Examples: $ echo -e "\e[1;34mLight Blue Text\e[0m" Light Blue Text $ echo -e "\e[1;33;4;44mYellow Underlined Text on Blue Background\e[0m" Yellow Underlined Text on Blue Background