Skip to content

Instantly share code, notes, and snippets.

@Habetdin
Created March 2, 2019 09:29
Show Gist options
  • Save Habetdin/92110ccdcd2553e933d271723fd4d1e6 to your computer and use it in GitHub Desktop.
Save Habetdin/92110ccdcd2553e933d271723fd4d1e6 to your computer and use it in GitHub Desktop.
8-bit bash colors
#!/bin/bash
# https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit
color_code=()
color_text=()
for c in {0..255}; do
color_code+=($(tput setaf $c))
color_text+=($(printf '%s=%i' "$(tput setaf $c | cat -v)" $c))
done
for i in {0..7}; do
printf '%s%-16.16s\t%s%-16.16s\n' \
"${color_code[$i]}" "${color_text[$i]}" \
"${color_code[$i+8]}" "${color_text[$i+8]}"
done
echo
for i in {16..33}; do
printf '%s%-16.16s\t%s%-16.16s\t%s%-16.16s\n' \
"${color_code[$i]}" "${color_text[$i]}" \
"${color_code[$i+18]}" "${color_text[$i+18]}" \
"${color_code[$i+36]}" "${color_text[$i+36]}"
done
echo
for i in {70..87}; do
printf '%s%-16.16s\t%s%-16.16s\t%s%-16.16s\n' \
"${color_code[$i]}" "${color_text[$i]}" \
"${color_code[$i+18]}" "${color_text[$i+18]}" \
"${color_code[$i+36]}" "${color_text[$i+36]}"
done
echo
for i in {124..141}; do
printf '%s%-16.16s\t%s%-16.16s\t%s%-16.16s\n' \
"${color_code[$i]}" "${color_text[$i]}" \
"${color_code[$i+18]}" "${color_text[$i+18]}" \
"${color_code[$i+36]}" "${color_text[$i+36]}"
done
echo
for i in {178..195}; do
printf '%s%-16.16s\t%s%-16.16s\t%s%-16.16s\n' \
"${color_code[$i]}" "${color_text[$i]}" \
"${color_code[$i+18]}" "${color_text[$i+18]}" \
"${color_code[$i+36]}" "${color_text[$i+36]}"
done
echo
for i in {232..243}; do
printf '%s%-16.16s\t%s%-16.16s\n' \
"${color_code[$i]}" "${color_text[$i]}" \
"${color_code[$i+12]}" "${color_text[$i+12]}"
done
tput sgr0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment