Jordan Savant # Software Engineer

16 Colors

Basic 8 colors

\033[COLORm

COLOR   FG  BG
Black   30  40
Red     31  41
Green   32  42
Yellow  33  43
Blue    34  44
Magenta 35  45
Cyan    36  46
Whie    37  47
reset   0

$ echo "\033[31mRed Message\033[0m"

Output all 16 colors:

#!/bin/bash

#Background
for clbg in {40..47} {100..107} 49 ; do
    #Foreground
    for clfg in {30..37} {90..97} 39 ; do
        #Formatting
        for attr in 0 1 2 4 5 7 ; do
            #Print the result
            echo -en "\e[${attr};${clbg};${clfg}m ^[${attr};${clbg};${clfg}m \e[0m"
        done
        echo #Newline
    done
done

256 Colors

Output all 256 colors:

#!/bin/bash

for fgbg in 38 48 ; do # Foreground / Background
    for color in {0..255} ; do # Colors
        # Display the color
        printf "\e[${fgbg};5;%sm  %3s  \e[0m" $color $color
        # Display 6 colors per lines
        if [ $((($color + 1) % 16)) == 0 ] ; then
            echo # New line
        fi
    done
    echo # New line
done