BASH - Colour menu

A colour changing banner in the center of the screen

DATA[0]="     #####        ####  #####   #### #    #"
DATA[1]="    #      #### #    # #    # #     #    #"
DATA[2]="    ###  #     #    # #####  #     ######"
DATA[3]="      # #     #    # #   #  #     #    #"
DATA[4]=" #####  ####  ####  #    #  #### #    #"

# virtual coordinate system is X*Y ${#DATA} * 5

REAL_OFFSET_X=30
REAL_OFFSET_Y=10

draw_char() {
  V_COORD_X=$1
  V_COORD_Y=$2
  tput cup $((REAL_OFFSET_Y + V_COORD_Y)) $((REAL_OFFSET_X + V_COORD_X))
  printf %c ${DATA[V_COORD_Y]:V_COORD_X:1}
}

trap 'exit 1' INT TERM
trap 'tput setaf 9; tput cvvis; clear' EXIT

tput civis
clear

while :; do

  for ((int_Colour=1; int_Colour <= 7; int_Colour++)); do
    tput setaf $int_Colour
    for ((x=0; x<${#DATA[0]}; x++)); do
      for ((y=0; y<=4; y++)); do
        draw_char $x $y
      done
    done
  done

done