Skip to content

Instantly share code, notes, and snippets.

@jaagut123
Forked from atomize/256-colors.sh
Last active August 12, 2023 08:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jaagut123/b3e3ad18118cb6bbf193ebf70e796193 to your computer and use it in GitHub Desktop.
Save jaagut123/b3e3ad18118cb6bbf193ebf70e796193 to your computer and use it in GitHub Desktop.
Bash terminal 256 colors escape sequences. The following script display the 256 colors available on some terminals and terminals emulators like XTerm and GNOME Terminal.
#!/bin/bash
# This program is free software. It comes without any warranty, to
# the extent permitted by applicable law. You can redistribute it
# and/or modify it under the terms of the Do What The Fuck You Want
# To Public License, Version 2, as published by Sam Hocevar. See
# http://sam.zoy.org/wtfpl/COPYING for more details.
for mode in {1..7} 9 21; do
echo Mode: $mode
for fgbg in 38 48 ; do #Foreground/Background
for color in {0..256} ; do #Colors
#Display the color
printf "\e[%s;%s;5;%sm %3s\t\e[0m" "${mode}" "${fgbg}" "${color}" "${color}"
#Display 10 colors per lines
if [ $((($color + 1) % 10)) == 0 ] ; then
echo #New line
fi
done
echo #New line
done
#exit 0
@jaagut123
Copy link
Author

Above code is somewhat limited to combination of 256 foreground colors to 1 background color and 256 background colors to 1 foreground color.

Replacing tput setab <bg_color_num> and tput setaf <fg_color_num> should offer 256x256 color combinations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment