#!/bin/bash # Usage: colortable [-x] # # Print a color table of ANSI colors (normal+bright) to demonstrate what # colors are available. Each line is the color code of one foreground # color, out of 17 (default + 16 escapes), followed by a test use of that # color on all nine background colors (default + 8 escapes). # # (Based on: http://www.faqs.org/docs/Linux-HOWTO/Bash-Prompt-HOWTO.html) T='gYw' # The test text bright=0 # Don't print bright colors by default test "$1" = "-x" -o "$1" = "-a" && bright=1 # Standard background colors echo echo -e " 40m 41m 42m 43m 44m 45m 46m 47m"; for FGs in ' m' ' 1m' \ ' 30m' ' 90m' '1;30m' \ ' 31m' ' 91m' '1;31m' \ ' 32m' ' 92m' '1;32m' \ ' 33m' ' 93m' '1;33m' \ ' 34m' ' 94m' '1;34m' \ ' 35m' ' 95m' '1;35m' \ ' 36m' ' 96m' '1;36m' \ ' 37m' ' 97m' '1;37m'; do FG=${FGs// /} if [ "${FG:0:1}" != "9" -o $bright -eq 1 ]; then echo -en " $FGs \033[$FG $T \033[0m" for BG in 40m 41m 42m 43m 44m 45m 46m 47m; do echo -en " \033[$FG\033[$BG $T \033[0m"; done echo; fi done echo # Bright background colors test $bright -eq 0 && exit 0 echo -e " 100m 101m 102m 103m 104m 105m 106m 107m"; for FGs in ' m' ' 1m' \ ' 30m' ' 90m' '1;30m' \ ' 31m' ' 91m' '1;31m' \ ' 32m' ' 92m' '1;32m' \ ' 33m' ' 93m' '1;33m' \ ' 34m' ' 94m' '1;34m' \ ' 35m' ' 95m' '1;35m' \ ' 36m' ' 96m' '1;36m' \ ' 37m' ' 97m' '1;37m'; do FG=${FGs// /} echo -en " $FGs \033[$FG $T \033[0m" for BG in 100m 101m 102m 103m 104m 105m 106m 107m; do echo -en " \033[$FG\033[$BG $T \033[0m"; done echo; done echo