Skip to content

Instantly share code, notes, and snippets.

@meganukebmp
Last active September 6, 2018 01:50
Show Gist options
  • Save meganukebmp/512da836a4ed0a02c8b94fceb81d634e to your computer and use it in GitHub Desktop.
Save meganukebmp/512da836a4ed0a02c8b94fceb81d634e to your computer and use it in GitHub Desktop.
Generates a rainbow in bash (truecolor)
center=128
width=127
freq=0.06
rainbow() {
R=$(bc -l <<< "scale=2;s($freq*$1+2)*$width+$center")
G=$(bc -l <<< "scale=2;s($freq*$1+0)*$width+$center")
B=$(bc -l <<< "scale=2;s($freq*$1+4)*$width+$center")
echo "\x1b[38;2;${R%.*};${G%.*};${B%.*}m"
}
# Example usage:
# colorCode=$(rainbow 1)
# Make big block of text rainbow
# newString=""
# IFS=$'\n'
# for i in $string; do
# for ((n=0; n<=${#i}-1; n++)); do
# newString="$newString$(rainbow $n)${i:$n:1}";
# done
# newString="$newString\n"
# done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment