Guest User

Untitled

a guest
Feb 11th, 2020
366
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.24 KB | None | 0 0
  1. #!/bin/bash
  2. # This file was originally taken from iterm2 https://github.com/gnachman/iTerm2/blob/master/tests/24-bit-color.sh
  3. #
  4. #   This file echoes a bunch of 24-bit color codes
  5. #   to the terminal to demonstrate its functionality.
  6. #   The foreground escape sequence is ^[38;2;<r>;<g>;<b>m
  7. #   The background escape sequence is ^[48;2;<r>;<g>;<b>m
  8. #   <r> <g> <b> range from 0 to 255 inclusive.
  9. #   The escape sequence ^[0m returns output to default
  10.  
  11. setBackgroundColor()
  12. {
  13.     #printf '\x1bPtmux;\x1b\x1b[48;2;%s;%s;%sm' $1 $2 $3
  14.     printf '\x1b[48;2;%s;%s;%sm' $1 $2 $3
  15. }
  16.  
  17. resetOutput()
  18. {
  19.     echo -en "\x1b[0m\n"
  20. }
  21.  
  22. # Gives a color $1/255 % along HSV
  23. # Who knows what happens when $1 is outside 0-255
  24. # Echoes "$red $green $blue" where
  25. # $red $green and $blue are integers
  26. # ranging between 0 and 255 inclusive
  27. rainbowColor()
  28. {
  29.     let h=$1/43
  30.     let f=$1-43*$h
  31.     let t=$f*255/43
  32.     let q=255-t
  33.  
  34.     if [ $h -eq 0 ]
  35.     then
  36.         echo "255 $t 0"
  37.     elif [ $h -eq 1 ]
  38.     then
  39.         echo "$q 255 0"
  40.     elif [ $h -eq 2 ]
  41.     then
  42.         echo "0 255 $t"
  43.     elif [ $h -eq 3 ]
  44.     then
  45.         echo "0 $q 255"
  46.     elif [ $h -eq 4 ]
  47.     then
  48.         echo "$t 0 255"
  49.     elif [ $h -eq 5 ]
  50.     then
  51.         echo "255 0 $q"
  52.     else
  53.         # execution should never reach here
  54.         echo "0 0 0"
  55.     fi
  56. }
  57.  
  58. for i in `seq 0 127`; do
  59.     setBackgroundColor $i 0 0
  60.     echo -en " "
  61. done
  62. resetOutput
  63. for i in `seq 255 -1 128`; do
  64.     setBackgroundColor $i 0 0
  65.     echo -en " "
  66. done
  67. resetOutput
  68.  
  69. for i in `seq 0 127`; do
  70.     setBackgroundColor 0 $i 0
  71.     echo -n " "
  72. done
  73. resetOutput
  74. for i in `seq 255 -1 128`; do
  75.     setBackgroundColor 0 $i 0
  76.     echo -n " "
  77. done
  78. resetOutput
  79.  
  80. for i in `seq 0 127`; do
  81.     setBackgroundColor 0 0 $i
  82.     echo -n " "
  83. done
  84. resetOutput
  85. for i in `seq 255 -1 128`; do
  86.     setBackgroundColor 0 0 $i
  87.     echo -n " "
  88. done
  89. resetOutput
  90.  
  91. for i in `seq 0 127`; do
  92.     setBackgroundColor `rainbowColor $i`
  93.     echo -n " "
  94. done
  95. resetOutput
  96. for i in `seq 255 -1 128`; do
  97.     setBackgroundColor `rainbowColor $i`
  98.     echo -n " "
  99. done
  100. resetOutput
  101.  
  102. echo -e "\e[1mbold\e[0m"
  103. echo -e "\e[3mitalic\e[0m"
  104. echo -e "\e[4munderline\e[0m"
  105. echo -e "\e[9mstrikethrough\e[0m"
Advertisement
Add Comment
Please, Sign In to add comment