123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278 |
- #!/usr/bin/env bash
- #--------HEADER---------------------------------------------------------------|
- # Be someone with a greater power you already have!
- #AUTOR
- # Jefferson Rocha <lrcjefferson@gmail.com>
- #
- #HOMEPAGE do AUTOR
- # http://www.slackjeff.com.br
- #
- #NOME
- # Qualdistro?
- #
- #LICENÇA
- # MIT
- #
- #DESCRIÇÃO: Programa para verificar qual a distribuição
- # que mais se encaixa para o usuário!
- # São feitas algumas perguntas e no final se o número for,
- # menor que X ele fica com um determinado grupo.
- # Se for maior que Y ele fica com outro grupo.
- # Programa é dividido em dois grupos inicialmente.
- #
- #CHANGELOG
- # Versão 1.0 - 11/03/2018 - Jefferson Rocha
- # - Programa Reescrito totalmente do Zero
- #----------------------FIM-DO-CABEÇALHO-----------------------------------|
- #-----------VÁRIAVEIS--------->
- nome_versao="Qual Distro versão 1.0"
- #cores
- fecha="\033[m"
- vermelho="\033[31;1m"
- azul="\033[34;1m"
- #------------------------------>
- #-----FUNÇÕES------------------>
- # Usuários que se enquadram na filosifia Kiss, cai aqui.
- grupo1(){
- cat << EOF
- $nome, Que ótimo, você é um adorador da filosofia kiss e um verdadeiro
- Guerreiro da raça!
- É dê grande honra encontrar poucas pessoas como você que chegam neste nivel!
- Perceba que para entrar neste modo você precisa atingir um ponto mais alto de todos,
- ou seja, você sem dúvida faz parte da fámilia pura UNIX-LIKE.
- Vou te apresentar alguns sistemas que vão te servir muito bem.
- --------------------
- Slackware
- --------------------
- CRUX
- --------------------
- FreeBSD (Nada melhor que o verdadeiro)
- --------------------
- EOF
- }
- # Usuários que gosta de pacotes mais Recentes
- # Cai nesta função.
- grupo2(){
- cat << EOF
- $nome, Você curte coisas mais recente não é? legal... bom vou te apresentar algumas
- distribuições que se enquadram a você, pelo seu perfil... Seja bem vindo ao Rolling-Release!
- --------------------
- Arch Linux
- --------------------
- Fedora
- --------------------
- Gentoo
- --------------------
- EOF
- }
- # Fácil
- grupo3(){
- cat << EOF
- $nome, Definimos que você se encaixa em uma distribuição mais leiga!
- É legal, porém não fique nestas distribuições por muito tempo, expanda sua mente e conheça novas distribuições!
- --------------------
- Ubuntu
- --------------------
- Linux Mint
- --------------------
- Elementary
- --------------------
- Fedora
- --------------------
- Manjaro
- --------------------
- OpenSUSE
- --------------------
- Deepin
- --------------------
- Emmi Linux
- --------------------
- EOF
- }
- #------------------------------>
- # INICIO
- # Vamos fazer algumas perguntas para o usuário antes
- # de começar a fazer as verdadeiras perguntas.
- echo "=== $nome_versao ==="
- read -p $'\033[31;1mOlá! seja muito bem vindo\033[m, Qual o Seu nome?\n' nome
- [[ -z "$nome" ]] && echo "Você Não tem um nome? haha ok." && sleep 2s && nome="Slackjeff é o melhor"
- echo -e "\n${azul}$nome, há quanto tempo você utiliza GNU/Linux?${fecha}"
- PS3="Selecione uma opção: "
- select tempo in "1 Ano" "2 Anos" "3 Anos" "4 Anos" "5 Anos" "10 Anos +" ; do
- tempo=$(echo $tempo | cut -d " " -f 1) # Pegando Somente o número
- break
- done
- # Tornando o programa mais interativo
- # De acordo com o que o usuário responder no menu select
- # a resposta é firmada aqui.
- # Nada de mais, só por uma interação a mais.
- case $tempo in
- 1|2|3)
- echo -e "Bom, você é novato, terá que treinar muito...\nMas não se preocupe, tudo foi feito para aprender. [ENTER] para prosseguir"
- read
- ;;
- 4|5)
- echo -e "Bom, vocẽ não é mais nenhum novato, espero que você pegue o Slackware :D\n[ENTER] para prosseguir"
- read
- ;;
- 10)
- echo -e "Opaa! temos um Dino do GNU/Linux aqui, seja muito bem vindo ao programa do Slackjeff, SIR.\n [ENTER] para prosseguir"
- read
- ;;
- esac
- # Questionarios começam aqui.
- # Inicializando e zerando váriaveis totais
- # Não edite se não o pau pega para seu lado!
- total_kiss="0"
- total_recente="0"
- total_facil="0"
- # Primeira Pergunta
- clear
- echo -e "\n${vermelho}Você prefere Pacotes Antigos porém estável, Pacotes mais recentes ou um Intermediário dos dois?${fecha}"
- select pergunta1 in "Pacotes antigos" "Pacotes Recentes" "Intermediario" ; do
- if [[ "$pergunta1" = "Pacotes antigos" ]]; then
- let total_kiss++
- break
- elif [[ "$pergunta1" = "Pacotes Recentes" ]]; then
- let total_recente++
- break
- elif [[ "$pergunta1" = "Intermediario" ]]; then
- let total_facil++
- break
- fi
- done
- # Segunda Pergunta
- clear
- echo -e "\n${vermelho}Você gosta da Filosia Kiss (Keep it simple, Stupid)?${fecha} "
- select pergunta2 in "Sim" "Nao" "Nunca ouvi falar"; do
- if [[ "$pergunta2" = "Sim" ]]; then
- let total_kiss++
- break
- else
- let total_recente++
- let total_facil++
- break
- fi
- done
- # Terceira Pergunta
- clear
- echo -e "\n${vermelho}Você é um Usuário Fuçador? ou apenas gosta de usar o Sistema de um modo normal?${fecha} "
- select pergunta3 in "Sou Fuçador" "Sou normal"; do
- if [[ "$pergunta3" = "Sou Fuçador" ]]; then
- let total_kiss++
- break
- else
- let total_recente++
- let total_facil++
- break
- fi
- done
- # Quarta Pergunta
- clear
- echo -e "\n${vermelho}Se o seu sistema quebrasse de vez, o que você faria?${fecha} "
- select pergunta4 in "Consertaria" "Mudaria de Distribuição" "Normal, pacotes novos fazem isto"; do
- if [[ "$pergunta4" = "Consertaria" ]]; then
- let total_kiss++
- break
- elif [[ "$pergunta4" = "Mudaria de Distribuição" ]]; then
- let total_facil++
- break
- elif [[ "$pergunta4" = "Normal, pacotes novos fazem isto" ]]; then
- let total_recente++
- break
- fi
- done
- # Quinta Pergunta
- clear
- 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} "
- select pergunta5 in "Quero ser o melhor" "Eu apenas gosto de usar" "Sou um Preguiçoso"; do
- if [[ "$pergunta5" = "Quero ser o melhor" ]]; then
- let total_kiss++
- break
- elif [[ "$pergunta5" = "Eu apenas gosto de usar" ]]; then
- let total_facil++
- break
- elif [[ "$pergunta5" = "Sou um Preguiçoso" ]]; then
- echo -e "${azul}Volta para o Windows, Seu nutellão!${fecha}"
- sleep 2s
- let total_facil++
- break
- fi
- done
- # Sexta Pergunta
- clear
- echo -e "\n${vermelho}Escolha uma destas distribuições, que mais se "Encaixa" com você${fecha} "
- select pergunta6 in "Slackware" "Debian" "Arch" "Ubuntu" "Linux Mint" "Deepin" "Elementary" "Gentoo"; do
- case "$pergunta6" in
- Slackware|Gentoo)
- let total_kiss++
- break
- ;;
- Debian)
- let total_facil++
- break
- ;;
- Arch)
- let total_recente++
- break
- ;;
- Ubuntu|"Linux Mint"|Deepin|Elementary)
- let total_facil++
- break
- ;;
- esac
- done
- # Sétima Pergunta
- # Vamos agora ver qual melhor distribuição para o usuario,
- # de acordo com a pontuação.
- if [[ "$total_kiss" -eq "6" ]]; then
- grupo1 # Chamada Função
- elif [[ "$total_recente" -gt "4" ]] || [[ "$total_recente" -lt "5" ]]; then
- grupo2 # Chamada Função
- elif [[ "$total_facil" -lt "3" ]]; then
- grupo3 # Chamada Função
- fi
|