Forgot your password?
#!/usr/bin/env bash # ansi_mappings=( Black Red Green Yellow Blue Magenta Cyan White Bright_Black Bright_Red Bright_Green Bright_Yellow Bright_Blue Bright_Magenta Bright_Cyan Bright_White ) colors=( base00 base08 base0B base0A base0D base0E base0C base05 base03 base08 base0B base0A base0D base0E base0C base07 base09 base0F base01 base02 base04 base06 ) for padded_value in `seq -w 0 21`; do color_variable="color${padded_value}" eval current_color=\$${color_variable} current_color=$(echo ${current_color//\//} | tr '[:lower:]' '[:upper:]') # get rid of slashes, and uppercase non_padded_value=$((10#$padded_value)) base16_color_name=${colors[$non_padded_value]} current_color_label=${current_color:-unknown} ansi_label=${ansi_mappings[$non_padded_value]} block=$(printf "\x1b[48;5;${non_padded_value}m___________________________") foreground=$(printf "\x1b[38;5;${non_padded_value}m$color_variable") printf "%s %s %s %-30s %s\x1b[0m\n" $foreground $base16_color_name $current_color_label ${ansi_label:-""} $block done;
#!/usr/bin/env bash # # This file echoes a bunch of 24-bit color codes # to the terminal to demonstrate its functionality. # The foreground escape sequence is ^[38;2;<r>;<g>;<b>m # The background escape sequence is ^[48;2;<r>;<g>;<b>m # <r> <g> <b> range from 0 to 255 inclusive. # The escape sequence ^[0m returns output to default setBackgroundColor() { echo -en "\x1b[48;2;$1;$2;$3""m" } resetOutput() { echo -en "\x1b[0m\n" } # Gives a color $1/255 % along HSV # Who knows what happens when $1 is outside 0-255 # Echoes "$red $green $blue" where # $red $green and $blue are integers # ranging between 0 and 255 inclusive rainbowColor() { let h=$1/43 let f=$1-43*$h let t=$f*255/43 let q=255-t if [ $h -eq 0 ] then echo "255 $t 0" elif [ $h -eq 1 ] then echo "$q 255 0" elif [ $h -eq 2 ] then echo "0 255 $t" elif [ $h -eq 3 ] then echo "0 $q 255" elif [ $h -eq 4 ] then echo "$t 0 255" elif [ $h -eq 5 ] then echo "255 0 $q" else # execution should never reach here echo "0 0 0" fi } for i in `seq 0 127`; do setBackgroundColor $i 0 0 echo -en " " done resetOutput for i in `seq 255 128`; do setBackgroundColor $i 0 0 echo -en " " done resetOutput for i in `seq 0 127`; do setBackgroundColor 0 $i 0 echo -n " " done resetOutput for i in `seq 255 128`; do setBackgroundColor 0 $i 0 echo -n " " done resetOutput for i in `seq 0 127`; do setBackgroundColor 0 0 $i echo -n " " done resetOutput for i in `seq 255 128`; do setBackgroundColor 0 0 $i echo -n " " done resetOutput for i in `seq 0 127`; do setBackgroundColor `rainbowColor $i` echo -n " " done resetOutput for i in `seq 255 128`; do setBackgroundColor `rainbowColor $i` echo -n " " done resetOutput