http://misc.flogisoft.com/bash/tip_colors_and_formatting
Also, see this archlinux wiki page.
^An extremely reliable and helpful source!

Note if doing echo’s, be sure to do an echo -e “stuff” instead of just echo “stuff”. In zsh (maybe bash too), I like to do the following for prompts:
(gold asking text, cyan (underlined) link, newline and white ‘>’ character waiting for user input)

print -nP “\e[0;33mAre you sure you want to do this?, y|n? If not, go here:\e[0m \e[4;36mhttps://randonplace.net/herpderp.php\n\e[1;37m>\e[0m “

Here is a list of the main colors etc.. I encourage you, if your going to using colors in a script or your .[zsh|bash]rc, you put this at the top and never deal with gross looking color codes.

txtblk=’\e[0;30m’ # Black - Regular txtred=’\e[0;31m’ # Red txtgrn=’\e[0;32m’ # Green txtylw=’\e[0;33m’ # Yellow txtblu=’\e[0;34m’ # Blue txtpur=’\e[0;35m’ # Purple txtcyn=’\e[0;36m’ # Cyan txtwht=’\e[0;37m’ # White bldblk=’\e[1;30m’ # Black - Bold bldred=’\e[1;31m’ # Red bldgrn=’\e[1;32m’ # Green bldylw=’\e[1;33m’ # Yellow bldblu=’\e[1;34m’ # Blue bldpur=’\e[1;35m’ # Purple bldcyn=’\e[1;36m’ # Cyan bldwht=’\e[1;37m’ # White unkblk=’\e[4;30m’ # Black - Underline undred=’\e[4;31m’ # Red undgrn=’\e[4;32m’ # Green undylw=’\e[4;33m’ # Yellow undblu=’\e[4;34m’ # Blue undpur=’\e[4;35m’ # Purple undcyn=’\e[4;36m’ # Cyan undwht=’\e[4;37m’ # White bakblk=’\e[40m’ # Black - Background bakred=’\e[41m’ # Red bakgrn=’\e[42m’ # Green bakylw=’\e[43m’ # Yellow bakblu=’\e[44m’ # Blue bakpur=’\e[45m’ # Purple bakcyn=’\e[46m’ # Cyan bakwht=’\e[47m’ # White txtrst=’\e[0m’ # Text Reset

Mario Loria is a builder of diverse infrastructure with modern workloads on both bare-metal and cloud platforms. He's traversed roles in system administration, network engineering, and DevOps. You can learn more about him here.