1
0

msg 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. #!/bin/bash
  2. # menu maker (opciones 1, 2, 3,.....)
  3. flech='➮' cOlM='⁙' && TOP='‣' && TTini='=====>>►► 🐲' && TTfin='🐲 ◄◄<<=====' && TTcent='💥' && RRini='【 ★' && RRfin='★ 】' && CHeko='✅' && ScT='🛡️' && FlT='⚔️' && BoLCC='🪦' && ceLL='🧬' && aLerT='⚠️' && lLaM='🔥' && pPIniT='∘' && bOTg='🤖' && rAy='⚡' && tTfIn='】' && TtfIn='【' tTfLe='►' && rUlq='🔰' && h0nG='🍄' && lLav3='🗝️' && m3ssg='📩' && pUn5A='⚜'
  4. cOpyRig='©' && mbar2=' •••••••••••••••••••••••'
  5. menu_func(){
  6. local options=${#@}
  7. local array
  8. for((num=1; num<=$options; num++)); do
  9. echo -ne "$(msg -verd " [$num]") $(msg -verm2 ">") "
  10. array=(${!num})
  11. case ${array[0]} in
  12. "-vd")echo -e "\033[1;33m[!]\033[1;32m ${array[@]:1}";;
  13. "-vm")echo -e "\033[1;33m[!]\033[1;31m ${array[@]:1}";;
  14. "-fi")echo -e "${array[@]:2} ${array[1]}";;
  15. -bar|-bar2|-bar3|-bar4)echo -e "\033[1;37m${array[@]:1}\n$(msg ${array[0]})";;
  16. *)echo -e "\033[1;37m${array[@]}";;
  17. esac
  18. done
  19. }
  20. selection_fun () {
  21. local selection="null"
  22. local range
  23. for((i=0; i<=$1; i++)); do range[$i]="$i "; done
  24. while [[ ! $(echo ${range[*]}|grep -w "$selection") ]]; do
  25. echo -ne "\033[1;37m ► Opcion : " >&2
  26. read selection
  27. tput cuu1 >&2 && tput dl1 >&2
  28. done
  29. echo $selection
  30. }
  31. tittle () {
  32. [[ -z $1 ]] && rt='adm-lite' || rt='ADMcgh'
  33. clear&&clear
  34. msg -bar
  35. echo -e "\033[1;44;44m \033[1;33m=====>>►► 🐲 ChumoGH 💥 Plus 🐲 ◄◄<<===== \033[0m \033[0;33m[$(less /etc/${rt}/v-local.log)]"
  36. msg -bar
  37. }
  38. in_opcion(){
  39. unset opcion
  40. if [[ -z $2 ]]; then
  41. msg -nazu " $1: " >&2
  42. else
  43. msg $1 " $2: " >&2
  44. fi
  45. read opcion
  46. echo "$opcion"
  47. }
  48. # centrado de texto
  49. print_center(){
  50. if [[ -z $2 ]]; then
  51. text="$1"
  52. else
  53. col="$1"
  54. text="$2"
  55. fi
  56. while read line; do
  57. unset space
  58. x=$(( ( 54 - ${#line}) / 2))
  59. for (( i = 0; i < $x; i++ )); do
  60. space+=' '
  61. done
  62. space+="$line"
  63. if [[ -z $2 ]]; then
  64. msg -azu "$space"
  65. else
  66. msg "$col" "$space"
  67. fi
  68. done <<< $(echo -e "$text")
  69. }
  70. # titulos y encabesados
  71. title(){
  72. clear
  73. msg -bar
  74. if [[ -z $2 ]]; then
  75. print_center -azu "$1"
  76. else
  77. print_center "$1" "$2"
  78. fi
  79. msg -bar
  80. }
  81. # finalizacion de tareas
  82. enter(){
  83. msg -bar
  84. text="►► Presione enter para continuar ◄◄"
  85. if [[ -z $1 ]]; then
  86. print_center -ama "$text"
  87. else
  88. print_center "$1" "$text"
  89. fi
  90. read
  91. }
  92. # opcion, regresar volver/atras
  93. back(){
  94. msg -bar
  95. echo -ne "$(msg -verd " [0]") $(msg -verm2 ">") " && msg -bra "\033[1;41mVOLVER"
  96. msg -bar
  97. }
  98. msg () {
  99. local colors="/etc/new-adm-color"
  100. if [[ ! -e $colors ]]; then
  101. COLOR[0]='\033[1;37m' #BRAN='\033[1;37m'
  102. COLOR[1]='\e[31m' #VERMELHO='\e[31m'
  103. COLOR[2]='\e[32m' #VERDE='\e[32m'
  104. COLOR[3]='\e[33m' #AMARELO='\e[33m'
  105. COLOR[4]='\e[34m' #AZUL='\e[34m'
  106. COLOR[5]='\e[35m' #MAGENTA='\e[35m'
  107. COLOR[6]='\033[1;97m' #MAG='\033[1;36m'
  108. COLOR[7]='\033[1;49;95m'
  109. COLOR[8]='\033[1;49;96m'
  110. else
  111. local COL=0
  112. for number in $(cat $colors); do
  113. case $number in
  114. 1)COLOR[$COL]='\033[1;37m';;
  115. 2)COLOR[$COL]='\e[31m';;
  116. 3)COLOR[$COL]='\e[32m';;
  117. 4)COLOR[$COL]='\e[33m';;
  118. 5)COLOR[$COL]='\e[34m';;
  119. 6)COLOR[$COL]='\e[35m';;
  120. 7)COLOR[$COL]='\033[1;36m';;
  121. 8)COLOR[$COL]='\033[1;49;95m';;
  122. 9)COLOR[$COL]='\033[1;49;96m';;
  123. esac
  124. let COL++
  125. done
  126. fi
  127. NEGRITO='\e[1m'
  128. SEMCOR='\e[0m'
  129. case $1 in
  130. -ne)cor="${COLOR[1]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";;
  131. -ama)cor="${COLOR[3]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
  132. -verm)cor="${COLOR[3]}${NEGRITO}[!] ${COLOR[1]}" && echo -e "${cor}${2}${SEMCOR}";;
  133. -verm2)cor="${COLOR[1]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
  134. -aqua)cor="${COLOR[8]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
  135. -azu)cor="${COLOR[6]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
  136. -verd)cor="${COLOR[2]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
  137. -bra)cor="${COLOR[0]}${SEMCOR}" && echo -e "${cor}${2}${SEMCOR}";;
  138. -nazu) cor="${COLOR[6]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";;
  139. -nverd)cor="${COLOR[2]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";;
  140. -nama) cor="${COLOR[3]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";;
  141. -verm3)cor="${COLOR[1]}" && echo -e "${cor}${2}${SEMCOR}";;
  142. -teal) cor="${COLOR[7]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
  143. -teal2)cor="${COLOR[7]}" && echo -e "${cor}${2}${SEMCOR}";;
  144. -blak) cor="${COLOR[8]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
  145. -blak2)cor="${COLOR[8]}" && echo -e "${cor}${2}${SEMCOR}";;
  146. -blu) cor="${COLOR[9]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
  147. -blu1) cor="${COLOR[9]}" && echo -e "${cor}${2}${SEMCOR}";;
  148. #-bar)ccor="${COLOR[1]}•••••••••••••••••••••••••••••••••••••••••••••••••" && echo -e "${SEMCOR}${ccor}${SEMCOR}";;
  149. -bar)ccor="${COLOR[1]}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" && echo -e "${SEMCOR}${ccor}${SEMCOR}";;
  150. -bar1)ccor="${COLOR[1]}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" && echo -e "${SEMCOR}${ccor}${SEMCOR}";;
  151. -bar2)ccor="${COLOR[1]}=====================================================" && echo -e "${SEMCOR}${ccor}${SEMCOR}";;
  152. -bar3)ccor="${COLOR[3]}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" && echo -e "${SEMCOR}${ccor}${SEMCOR}";;
  153. -bar4)ccor="${COLOR[5]}•••••••••••••••••••••••••••••••••••••••••••••••••" && echo -e "${SEMCOR}${ccor}${SEMCOR}";;
  154. esac
  155. }
  156. fun_bar () {
  157. comando[0]="$1"
  158. comando[1]="$2"
  159. (
  160. [[ -e $HOME/fim ]] && rm $HOME/fim
  161. ${comando[0]} -y > /dev/null 2>&1
  162. ${comando[1]} -y > /dev/null 2>&1
  163. touch $HOME/fim
  164. ) > /dev/null 2>&1 &
  165. echo -ne "\033[1;33m ["
  166. while true; do
  167. for((i=0; i<18; i++)); do
  168. echo -ne "\033[1;31m##"
  169. sleep 0.1s
  170. done
  171. [[ -e $HOME/fim ]] && rm $HOME/fim && break
  172. echo -e "\033[1;33m]"
  173. sleep 1s
  174. tput cuu1
  175. tput dl1
  176. echo -ne "\033[1;33m ["
  177. done
  178. echo -e "\033[1;33m]\033[1;31m -\033[1;32m 100%\033[1;37m"
  179. }
  180. del(){
  181. for (( i = 0; i < $1; i++ )); do
  182. tput cuu1 && tput dl1
  183. done
  184. }
  185. [[ -d /bin/ejecutar ]] && {
  186. [[ -e /bin/ejecutar/msg ]] || wget -q -O /bin/ejecutar/msg https://raw.githubusercontent.com/ChumoGH/ChumoGH-Script/master/msg-bar/msg
  187. } || mkdir /bin/ejecutar
  188. cor[0]="\033[0m"
  189. cor[1]="\033[1;34m"
  190. cor[2]="\033[1;32m"
  191. cor[3]="\033[1;37m"
  192. cor[4]="\033[1;36m"
  193. cor[5]="\033[1;33m"
  194. cor[6]="\033[1;35m"
  195. export -f msg
  196. export -f fun_bar
  197. export -f tittle
  198. export -f enter
  199. export -f back
  200. export -f print_center
  201. export -f in_opcion
  202. export -f del