98 lines
2.0 KiB
Bash
Executable File
98 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Test black and white
|
|
echo "=== Black and White ==="
|
|
printf "Normal text\n"
|
|
printf "\e[1mBold text\e[0m\n"
|
|
printf "\e[7mReverse text\e[0m\n\n"
|
|
|
|
# Test 4-bit ANSI (16 colors)
|
|
echo "=== 4-bit ANSI Colors (16 colors) ==="
|
|
echo "Foreground colors:"
|
|
for i in {30..37}; do
|
|
printf "\e[${i}m\\e[${i}m\e[0m "
|
|
done
|
|
echo -e "\n"
|
|
|
|
echo "Background colors:"
|
|
for i in {40..47}; do
|
|
printf "\e[${i}m\\e[${i}m\e[0m "
|
|
done
|
|
echo -e "\n"
|
|
|
|
echo "Bright foreground colors:"
|
|
for i in {90..97}; do
|
|
printf "\e[${i}m\\e[${i}m\e[0m "
|
|
done
|
|
echo -e "\n"
|
|
|
|
echo "Bright background colors:"
|
|
for i in {100..107}; do
|
|
printf "\e[${i}m\\e[${i}m\e[0m "
|
|
done
|
|
echo -e "\n\n"
|
|
|
|
# Test 8-bit ANSI (256 colors)
|
|
echo "=== 8-bit ANSI Colors (256 colors) ==="
|
|
echo "16 System Colors:"
|
|
for i in {0..15}; do
|
|
printf "\e[48;5;${i}m \e[0m"
|
|
if [ $((($i + 1) % 8)) == 0 ]; then
|
|
echo
|
|
fi
|
|
done
|
|
echo
|
|
|
|
echo "216 RGB Colors:"
|
|
for i in {16..231}; do
|
|
printf "\e[48;5;${i}m \e[0m"
|
|
if [ $((($i - 15) % 36)) == 0 ]; then
|
|
echo
|
|
fi
|
|
done
|
|
echo
|
|
|
|
echo "24 Grayscale Colors:"
|
|
for i in {232..255}; do
|
|
printf "\e[48;5;${i}m \e[0m"
|
|
if [ $((($i - 231) % 12)) == 0 ]; then
|
|
echo
|
|
fi
|
|
done
|
|
echo -e "\n"
|
|
|
|
# Test 24-bit true color
|
|
echo "=== 24-bit True Color (16.7 million colors) ==="
|
|
echo "RGB Color Gradient:"
|
|
awk 'BEGIN{
|
|
s="/\\";
|
|
for (colnum = 0; colnum<77; colnum++) {
|
|
r = 255-(colnum*255/76);
|
|
g = (colnum*510/76);
|
|
b = (colnum*255/76);
|
|
if (g>255) g = 510-g;
|
|
printf "\033[48;2;%d;%d;%dm", r,g,b;
|
|
printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b;
|
|
printf "%s\033[0m", substr(s,colnum%2+1,1);
|
|
}
|
|
printf "\n";
|
|
}'
|
|
|
|
echo "RGB Color Bars:"
|
|
for r in 0 127 255; do
|
|
for g in 0 127 255; do
|
|
for b in 0 127 255; do
|
|
printf "\e[48;2;${r};${g};${b}m \e[0m"
|
|
done
|
|
printf " "
|
|
done
|
|
echo
|
|
done
|
|
echo
|
|
|
|
# Print terminal information
|
|
echo "=== Terminal Information ==="
|
|
echo "TERM: $TERM"
|
|
echo "COLORTERM: $COLORTERM"
|
|
echo "Reported colors (tput colors): $(tput colors)"
|