#!/bin/bash

tworows() {
  local from="$1"
  local to="$2"
  local prefix="$3"
  local i

  i=$from
  while [ $i -le $to ]; do
    echo -n $'\e['$prefix$i$'m'$i$'\e[0m '
    i=$((i+1))
  done
  echo
  i=$from
  while [ $i -le $to ]; do
    echo -n $'\e['$prefix$i$'m\e[1m'$i$'\e[0m '
    i=$((i+1))
  done
  echo
}

echo
echo '__ 8 colors __'
tworows 0 7 '3'
echo
echo '__ 256 colors __'
tworows 0 15 '38;5;'
tworows 16 39 '38;5;'
tworows 40 63 '38;5;'
tworows 64 87 '38;5;'
echo '[...]'
tworows 232 243 '38;5;'
tworows 244 255 '38;5;'
echo
