| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- #!/bin/bash
- # interfas de colores
- msg(){
- COLOR[0]='\033[1;37m' #BRAN='\033[1;37m'
- COLOR[1]='\e[31m' #VERMELHO='\e[31m'
- COLOR[2]='\e[32m' #VERDE='\e[32m'
- COLOR[3]='\e[33m' #AMARELO='\e[33m'
- COLOR[4]='\e[34m' #AZUL='\e[34m'
- COLOR[5]='\e[91m' #MAGENTA='\e[35m'
- COLOR[6]='\033[1;97m' #MAG='\033[1;36m'
- COLOR[7]='\e[36m' #teal='\e[36m'
- COLOR[8]='\e[30m' #negro='\e[30m'
- COLOR[9]='\033[34m' #blue='\033[1;34m'
- NEGRITO='\e[1m'
- SEMCOR='\e[0m'
- case $1 in
- -ne) cor="${COLOR[1]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";;
- -nazu) cor="${COLOR[6]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";;
- -nverd)cor="${COLOR[2]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";;
- -nama) cor="${COLOR[3]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";;
- -ama) cor="${COLOR[3]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
- -verm) cor="${COLOR[3]}${NEGRITO}[!] ${COLOR[1]}" && echo -e "${cor}${2}${SEMCOR}";;
- -verm2)cor="${COLOR[1]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
- -verm3)cor="${COLOR[1]}" && echo -e "${cor}${2}${SEMCOR}";;
- -teal) cor="${COLOR[7]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
- -teal2)cor="${COLOR[7]}" && echo -e "${cor}${2}${SEMCOR}";;
- -blak) cor="${COLOR[8]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
- -blak2)cor="${COLOR[8]}" && echo -e "${cor}${2}${SEMCOR}";;
- -azu) cor="${COLOR[6]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
- -blu) cor="${COLOR[9]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
- -blu1) cor="${COLOR[9]}" && echo -e "${cor}${2}${SEMCOR}";;
- -verd) cor="${COLOR[2]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
- -bra) cor="${COLOR[0]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
- -bar) cor="${COLOR[1]}=====================================================" && echo -e "${SEMCOR}${cor}${SEMCOR}";;
- -bar2) cor="${COLOR[7]}=====================================================" && echo -e "${SEMCOR}${cor}${SEMCOR}";;
- -bar3) cor="${COLOR[1]}-----------------------------------------------------" && echo -e "${SEMCOR}${cor}${SEMCOR}";;
- -bar4) cor="${COLOR[7]}-----------------------------------------------------" && echo -e "${SEMCOR}${cor}${SEMCOR}";;
- esac
- }
- # centrado de texto
- print_center(){
- if [[ -z $2 ]]; then
- text="$1"
- else
- col="$1"
- text="$2"
- fi
- while read line; do
- unset space
- x=$(( ( 54 - ${#line}) / 2))
- for (( i = 0; i < $x; i++ )); do
- space+=' '
- done
- space+="$line"
- if [[ -z $2 ]]; then
- msg -azu "$space"
- else
- msg "$col" "$space"
- fi
- done <<< $(echo -e "$text")
- }
- #print_center2(){
- # local x
- # local y
- # #text="$*"
- # text="$2"
- # #x=$(( ($(tput cols) - ${#text}) / 2))
- # x=$(( ( 54 - ${#text}) / 2))
- # echo -ne "\E[6n";read -sdR y; y=$(echo -ne "${y#*[}" | cut -d';' -f1)
- # #echo -e "\033[${y};${x}f$*"
- # msg "$1" "\033[${y};${x}f$2"
- #}
- # titulos y encabesados
- title(){
- clear
- msg -bar
- if [[ -z $2 ]]; then
- print_center -azu "$1"
- else
- print_center "$1" "$2"
- fi
- msg -bar
- }
- # finalizacion de tareas
- enter(){
- msg -bar
- text="►► Presione enter para continuar ◄◄"
- if [[ -z $1 ]]; then
- print_center -ama "$text"
- else
- print_center "$1" "$text"
- fi
- read
- }
- # opcion, regresar volver/atras
- back(){
- msg -bar
- echo -ne "$(msg -verd " [0]") $(msg -verm2 ">") " && msg -bra "\033[1;41mVOLVER"
- msg -bar
- }
- # menu maker (opciones 1, 2, 3,.....)
- menu_func(){
- local options=${#@}
- local array
- for((num=1; num<=$options; num++)); do
- echo -ne "$(msg -verd " [$num]") $(msg -verm2 ">") "
- array=(${!num})
- case ${array[0]} in
- "-vd")echo -e "\033[1;33m[!]\033[1;32m ${array[@]:1}";;
- "-vm")echo -e "\033[1;33m[!]\033[1;31m ${array[@]:1}";;
- "-fi")echo -e "${array[@]:2} ${array[1]}";;
- -bar|-bar2|-bar3|-bar4)echo -e "\033[1;37m${array[@]:1}\n$(msg ${array[0]})";;
- *)echo -e "\033[1;37m${array[@]}";;
- esac
- done
- }
- # opcion de seleccion numerica
- selection_fun(){
- local selection="null"
- local range
- if [[ -z $2 ]]; then
- opcion=$1
- col="-nazu"
- else
- opcion=$2
- col=$1
- fi
- for((i=0; i<=$opcion; i++)); do range[$i]="$i "; done
- while [[ ! $(echo ${range[*]}|grep -w "$selection") ]]; do
- msg "$col" " Selecione una Opcion: " >&2
- read selection
- tput cuu1 >&2 && tput dl1 >&2
- done
- echo $selection
- }
- in_opcion(){
- unset opcion
- if [[ -z $2 ]]; then
- msg -nazu " $1: " >&2
- else
- msg $1 " $2: " >&2
- fi
- read opcion
- echo "$opcion"
- }
- in_opcion_down(){
- dat=$1
- length=${#dat}
- cal=$(( 22 - $length / 2 ))
- line=''
- for (( i = 0; i < $cal; i++ )); do
- line+='╼'
- done
- echo -e " $(msg -verm3 "╭$line╼[")$(msg -azu "$dat")$(msg -verm3 "]")"
- echo -ne " $(msg -verm3 "╰╼")\033[37;1m> " && read opcion
- }
- export -f msg
- export -f selection_fun
- export -f menu_func
- export -f print_center
- export -f title
- export -f back
- export -f enter
- export -f in_opcion
- export -f in_opcion_down
|