#!/bin/sh set -e clear printf '\e[4;37m\e[45m\e[30mA Book of Colors\e[0m\n' printf '\n' printf 'Use \\e (or \\033) followed by the control sequence specified next to activate that color.\n' printf 'Use the reset sequence "[0m" to remove all set colors and styles.\n' printf 'When using these sequences in a Bash prompt (e.g. $PS1), be sure to surround the whole escape sequence with escaped brackets to prevent issues with Bash miscounting the number of characters in a line. For example: `export PS1=''\[\\e[36m\]\u@\h \$\[\\e[0m\]''` would create a cyan-colored prompt string.\n' printf '\n' printf '\e[4;37m\e[1;37mRegular Colors\e[0m\n' printf '\e[4;37mForeground\e[0m \e[4;37mBackground\e[0m\n' printf '\e[30m[30m Black\e[0m \e[40m[40m Black\e[0m\n' printf '\e[31m[31m Red\e[0m \e[41m[41m Red\e[0m\n' printf '\e[32m[32m Green\e[0m \e[42m[42m Green\e[0m\n' printf '\e[33m[33m Brown\e[0m \e[43m[43m Brown\e[0m\n' printf '\e[34m[34m Blue\e[0m \e[44m[44m Blue\e[0m\n' printf '\e[35m[35m Purple\e[0m \e[45m[45m Purple\e[0m\n' printf '\e[36m[36m Cyan\e[0m \e[46m[46m Cyan\e[0m\n' printf '\e[37m[37m Light grey\e[0m \e[47m[47m Light grey\e[0m\n' printf '\n' printf '\e[4;37m\e[1;37mExtra Attributes\e[0m\n' printf 'Extra attributes can be given by placing a numeric value (representing the attribute) followed by a '';'' after the ''['' character.\n' printf '\n' printf '\e[4;37m\e[1;37m1; (Boldness)\e[0m\n' printf 'Note that some terminals use the "bold" attribute to display an alternate version of the color, e.g. a lighter or darker shade.\n' printf 'The canonical names for these alternate colors are what is displayed below.\n' printf 'Other terminals actually support displaying text with this attribute in a bold typeface.\n' printf '\n' printf '\e[4;37mForeground\e[0m \e[4;37mBackground\e[0m\n' printf '\e[1;30m[1;30m Dark grey\e[0m \e[1;40m[1;40m Dark grey\e[0m\n' printf '\e[1;31m[1;31m Light red\e[0m \e[1;41m[1;41m Light red\e[0m\n' printf '\e[1;32m[1;32m Light green\e[0m \e[1;42m[1;42m Light green\e[0m\n' printf '\e[1;33m[1;33m Yellow\e[0m \e[1;43m[1;43m Yellow\e[0m\n' printf '\e[1;34m[1;34m Light blue\e[0m \e[1;44m[1;44m Light blue\e[0m\n' printf '\e[1;35m[1;35m Light purple\e[0m \e[1;45m[1;45m Light purple\e[0m\n' printf '\e[1;36m[1;36m Light cyan\e[0m \e[1;46m[1;46m Light cyan\e[0m\n' printf '\e[1;37m[1;37m White\e[0m \e[1;47m[1;47m White\e[0m\n' printf '\n' printf '\e[4;37m\e[1;37m4; (Underscore)\e[0m\n' printf 'This attribute displays text with an underline.\n' printf 'If the underline is always displayed in the foreground color. See the table below for more detail.\n' printf '\n' printf '\e[4;37mForeground\e[0m \e[4;37mBackground\e[0m\n' printf '\e[4;30m[4;30m Black\e[0m \e[4;40m[4;40m Black\e[0m\n' printf '\e[4;31m[4;31m Red\e[0m \e[4;41m[4;41m Red\e[0m\n' printf '\e[4;32m[4;32m Green\e[0m \e[4;42m[4;42m Green\e[0m\n' printf '\e[4;33m[4;33m Brown\e[0m \e[4;43m[4;43m Brown\e[0m\n' printf '\e[4;34m[4;34m Blue\e[0m \e[4;44m[4;44m Blue\e[0m\n' printf '\e[4;35m[4;35m Purple\e[0m \e[4;45m[4;45m Purple\e[0m\n' printf '\e[4;36m[4;36m Cyan\e[0m \e[4;46m[4;46m Cyan\e[0m\n' printf '\e[4;37m[4;37m Light grey\e[0m \e[4;47m[4;47m Light grey\e[0m\n'