qualdristro? 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. #!/usr/bin/env bash
  2. #--------HEADER---------------------------------------------------------------|
  3. # Be someone with a greater power you already have!
  4. #AUTOR
  5. # Jefferson Rocha <lrcjefferson@gmail.com>
  6. #
  7. #HOMEPAGE do AUTOR
  8. # http://www.slackjeff.com.br
  9. #
  10. #NOME
  11. # Qualdistro?
  12. #
  13. #LICENÇA
  14. # MIT
  15. #
  16. #DESCRIÇÃO: Programa para verificar qual a distribuição
  17. # que mais se encaixa para o usuário!
  18. # São feitas algumas perguntas e no final se o número for,
  19. # menor que X ele fica com um determinado grupo.
  20. # Se for maior que Y ele fica com outro grupo.
  21. # Programa é dividido em dois grupos inicialmente.
  22. #
  23. #CHANGELOG
  24. # Versão 1.0 - 11/03/2018 - Jefferson Rocha
  25. # - Programa Reescrito totalmente do Zero
  26. #----------------------FIM-DO-CABEÇALHO-----------------------------------|
  27. #-----------VÁRIAVEIS--------->
  28. nome_versao="Qual Distro versão 1.0"
  29. #cores
  30. fecha="\033[m"
  31. vermelho="\033[31;1m"
  32. azul="\033[34;1m"
  33. #------------------------------>
  34. #-----FUNÇÕES------------------>
  35. # Usuários que se enquadram na filosifia Kiss, cai aqui.
  36. grupo1(){
  37. cat << EOF
  38. $nome, Que ótimo, você é um adorador da filosofia kiss e um verdadeiro
  39. Guerreiro da raça!
  40. É dê grande honra encontrar poucas pessoas como você que chegam neste nivel!
  41. Perceba que para entrar neste modo você precisa atingir um ponto mais alto de todos,
  42. ou seja, você sem dúvida faz parte da fámilia pura UNIX-LIKE.
  43. Vou te apresentar alguns sistemas que vão te servir muito bem.
  44. --------------------
  45. Slackware
  46. --------------------
  47. CRUX
  48. --------------------
  49. FreeBSD (Nada melhor que o verdadeiro)
  50. --------------------
  51. EOF
  52. }
  53. # Usuários que gosta de pacotes mais Recentes
  54. # Cai nesta função.
  55. grupo2(){
  56. cat << EOF
  57. $nome, Você curte coisas mais recente não é? legal... bom vou te apresentar algumas
  58. distribuições que se enquadram a você, pelo seu perfil... Seja bem vindo ao Rolling-Release!
  59. --------------------
  60. Arch Linux
  61. --------------------
  62. Fedora
  63. --------------------
  64. Gentoo
  65. --------------------
  66. EOF
  67. }
  68. # Fácil
  69. grupo3(){
  70. cat << EOF
  71. $nome, Definimos que você se encaixa em uma distribuição mais leiga!
  72. É legal, porém não fique nestas distribuições por muito tempo, expanda sua mente e conheça novas distribuições!
  73. --------------------
  74. Ubuntu
  75. --------------------
  76. Linux Mint
  77. --------------------
  78. Elementary
  79. --------------------
  80. Fedora
  81. --------------------
  82. Manjaro
  83. --------------------
  84. OpenSUSE
  85. --------------------
  86. Deepin
  87. --------------------
  88. Emmi Linux
  89. --------------------
  90. EOF
  91. }
  92. #------------------------------>
  93. # INICIO
  94. # Vamos fazer algumas perguntas para o usuário antes
  95. # de começar a fazer as verdadeiras perguntas.
  96. echo "=== $nome_versao ==="
  97. read -p $'\033[31;1mOlá! seja muito bem vindo\033[m, Qual o Seu nome?\n' nome
  98. [[ -z "$nome" ]] && echo "Você Não tem um nome? haha ok." && sleep 2s && nome="Slackjeff é o melhor"
  99. echo -e "\n${azul}$nome, há quanto tempo você utiliza GNU/Linux?${fecha}"
  100. PS3="Selecione uma opção: "
  101. select tempo in "1 Ano" "2 Anos" "3 Anos" "4 Anos" "5 Anos" "10 Anos +" ; do
  102. tempo=$(echo $tempo | cut -d " " -f 1) # Pegando Somente o número
  103. break
  104. done
  105. # Tornando o programa mais interativo
  106. # De acordo com o que o usuário responder no menu select
  107. # a resposta é firmada aqui.
  108. # Nada de mais, só por uma interação a mais.
  109. case $tempo in
  110. 1|2|3)
  111. echo -e "Bom, você é novato, terá que treinar muito...\nMas não se preocupe, tudo foi feito para aprender. [ENTER] para prosseguir"
  112. read
  113. ;;
  114. 4|5)
  115. echo -e "Bom, vocẽ não é mais nenhum novato, espero que você pegue o Slackware :D\n[ENTER] para prosseguir"
  116. read
  117. ;;
  118. 10)
  119. echo -e "Opaa! temos um Dino do GNU/Linux aqui, seja muito bem vindo ao programa do Slackjeff, SIR.\n [ENTER] para prosseguir"
  120. read
  121. ;;
  122. esac
  123. # Questionarios começam aqui.
  124. # Inicializando e zerando váriaveis totais
  125. # Não edite se não o pau pega para seu lado!
  126. total_kiss="0"
  127. total_recente="0"
  128. total_facil="0"
  129. # Primeira Pergunta
  130. clear
  131. echo -e "\n${vermelho}Você prefere Pacotes Antigos porém estável, Pacotes mais recentes ou um Intermediário dos dois?${fecha}"
  132. select pergunta1 in "Pacotes antigos" "Pacotes Recentes" "Intermediario" ; do
  133. if [[ "$pergunta1" = "Pacotes antigos" ]]; then
  134. let total_kiss++
  135. break
  136. elif [[ "$pergunta1" = "Pacotes Recentes" ]]; then
  137. let total_recente++
  138. break
  139. elif [[ "$pergunta1" = "Intermediario" ]]; then
  140. let total_facil++
  141. break
  142. fi
  143. done
  144. # Segunda Pergunta
  145. clear
  146. echo -e "\n${vermelho}Você gosta da Filosia Kiss (Keep it simple, Stupid)?${fecha} "
  147. select pergunta2 in "Sim" "Nao" "Nunca ouvi falar"; do
  148. if [[ "$pergunta2" = "Sim" ]]; then
  149. let total_kiss++
  150. break
  151. else
  152. let total_recente++
  153. let total_facil++
  154. break
  155. fi
  156. done
  157. # Terceira Pergunta
  158. clear
  159. echo -e "\n${vermelho}Você é um Usuário Fuçador? ou apenas gosta de usar o Sistema de um modo normal?${fecha} "
  160. select pergunta3 in "Sou Fuçador" "Sou normal"; do
  161. if [[ "$pergunta3" = "Sou Fuçador" ]]; then
  162. let total_kiss++
  163. break
  164. else
  165. let total_recente++
  166. let total_facil++
  167. break
  168. fi
  169. done
  170. # Quarta Pergunta
  171. clear
  172. echo -e "\n${vermelho}Se o seu sistema quebrasse de vez, o que você faria?${fecha} "
  173. select pergunta4 in "Consertaria" "Mudaria de Distribuição" "Normal, pacotes novos fazem isto"; do
  174. if [[ "$pergunta4" = "Consertaria" ]]; then
  175. let total_kiss++
  176. break
  177. elif [[ "$pergunta4" = "Mudaria de Distribuição" ]]; then
  178. let total_facil++
  179. break
  180. elif [[ "$pergunta4" = "Normal, pacotes novos fazem isto" ]]; then
  181. let total_recente++
  182. break
  183. fi
  184. done
  185. # Quinta Pergunta
  186. clear
  187. echo -e "\n${vermelho}Você encontra sempre um jeito de se aprimorar suas técnicas e habilidades no mundo GNU/Linux? ou seja você é o verdadeiro, ROOTayajin?${fecha} "
  188. select pergunta5 in "Quero ser o melhor" "Eu apenas gosto de usar" "Sou um Preguiçoso"; do
  189. if [[ "$pergunta5" = "Quero ser o melhor" ]]; then
  190. let total_kiss++
  191. break
  192. elif [[ "$pergunta5" = "Eu apenas gosto de usar" ]]; then
  193. let total_facil++
  194. break
  195. elif [[ "$pergunta5" = "Sou um Preguiçoso" ]]; then
  196. echo -e "${azul}Volta para o Windows, Seu nutellão!${fecha}"
  197. sleep 2s
  198. let total_facil++
  199. break
  200. fi
  201. done
  202. # Sexta Pergunta
  203. clear
  204. echo -e "\n${vermelho}Escolha uma destas distribuições, que mais se "Encaixa" com você${fecha} "
  205. select pergunta6 in "Slackware" "Debian" "Arch" "Ubuntu" "Linux Mint" "Deepin" "Elementary" "Gentoo"; do
  206. case "$pergunta6" in
  207. Slackware|Gentoo)
  208. let total_kiss++
  209. break
  210. ;;
  211. Debian)
  212. let total_facil++
  213. break
  214. ;;
  215. Arch)
  216. let total_recente++
  217. break
  218. ;;
  219. Ubuntu|"Linux Mint"|Deepin|Elementary)
  220. let total_facil++
  221. break
  222. ;;
  223. esac
  224. done
  225. # Sétima Pergunta
  226. # Vamos agora ver qual melhor distribuição para o usuario,
  227. # de acordo com a pontuação.
  228. if [[ "$total_kiss" -eq "6" ]]; then
  229. grupo1 # Chamada Função
  230. elif [[ "$total_recente" -gt "4" ]] || [[ "$total_recente" -lt "5" ]]; then
  231. grupo2 # Chamada Função
  232. elif [[ "$total_facil" -lt "3" ]]; then
  233. grupo3 # Chamada Função
  234. fi