123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- #!/bin/bash
- #-------------HEADER-----------------------------------------------------------|
- #AUTOR:
- # Jefferson Rocha <lrcjefferson@gmail.com>
- #
- #PROGRAMA:
- # Show do Milhão do Linux
- #------------------------------------------------------------------------------|
- # (Váriaveis locais)
- programa="Show do milhão, versão 1.0"
- total=0 # Zerando var
- # (Funções)
- sound() {
- ogg123 milhao.ogg 2>&- & sleep 1.7s
- }
- variavel_nula() {
- dialog --stdout --title "Aviso!" --backtitle "$programa" \
- --infobox "Se não escolher nada você vai ganhar um milhão em outro lugar, $nome!" 5 40 ; sleep 4
- }
- # (Inicio do programa)
- dialog --stdout --title "Bem vindo!" --backtitle "$programa" \
- --extra-button --extra-label "Sou nutella, é muito pra mim." \
- --ok-label "Ok, MR Slackjeff" \
- --msgbox "
- Não vale colar, pesquisar ou nenhuma coisa desse tipo que seja coisa de usuário
- Nutella!
- Essa é a minha roleta russa, ou você sabe ou você chora.
- São 10 perguntas do misturadas, cada pergunta certa é que vale
- a 1 ponto, se você tirar uma pontuação >= a 8 você está indo bem.
- Tirou abaixo disso, volte a estudar porque você não é CAVEIRA caral**
- Você é apenas uma muleque que fica passeando pelo X enquanto seus colegas estão,
- aprendendo e virando o S.O de cabeça pra baixo!.
- " 0 0
- if [[ $? -eq 3 ]]; then
- echo "Nutella, puff."
- exit
-
- fi
- ogg123 participante.ogg 2>&-
- while true ;do
- nome=$(
- dialog --stdout --title "Seu nome" --backtitle "$programa" \
- --inputbox "
- Antes de prosseguir preciso saber o seu nome! pra que?
- Bom é pra roubar seu cartão de crédito.
- Bota loga o nome ai" 0 0
- )
- if [ ! -z $nome ]; then
- break
- else # É nulo? loop nele!
- dialog --stdout --title "Aviso!" --backtitle "$programa" \
- --infobox "
- Enquanto não por seu nome eu não vou prosseguir.
- Eu sou difícil e você sabe!" 0 0; sleep 4
- fi
- done
- ogg123 inicio.ogg 2>&-
- pergunta1=$(
- sound
- dialog --stdout --title "Pergunta 1" --backtitle "$programa" \
- --checklist "Qual comando é utilizado para remover arquivos e pastas?" \
- 0 0 0 \
- rm "" off \
- mkdir "" off \
- "ls -l" "" off \
- cp "" off \
- ls "" off \
- "rm -r" "" off \
- chmod "" off )
- if [ "$pergunta1" = 'rm "rm -r"' ]; then
- let total++
- elif [ -z $pergunta1 ]; then
- variavel_nula
- fi
- # Pergunta 2
- sound
- dialog --stdout --title "Pergunta 2" --backtitle "$programa" \
- --yes-label "Verdadeiro" --no-label "Falso" \
- --yesno "
- .Bashrc que está presente em sua pasta 'Home' serve para fazer configurações,
- de todos usuários após o login.
- Verdadeiro ou Falso?" 0 0
- if [ $? -eq 1 ]; then
- let total++
- fi
- pergunta3=$(
- sound
- dialog --stdout --title "Pergunta 3" --backtitle "$programa" \
- --radiolist "
- Selecione uma das alternativas!
- Sabemos que o comando diff é muito importante para os programadores.
- Quando a questão é controle! O que ele compara?" \
- 0 0 0 \
- 1 "Compara a versão do bash" off \
- 2 "Compara as versões do programa no github" off \
- 3 "Faz a comparação de arquivos/programas para lançamento de patchs" off \
- 4 "Compara as versões do programa e usa o sftp para se conectar" off )
- if [ $pergunta3 -eq 3 ]; then
- let total++
- elif [ -z $pergunta ]; then
- variavel_nula
- fi
- # Pergunta 4
- sound
- dialog --stdout --title "Pergunta 4" --backtitle "$programa" \
- --yes-label "Verdadeiro" --no-label "Falso" \
- --yesno "
- Sabemos que o Kernel Linux é uma distribuição difundida no mundo e
- seu criador Richard Stallman fez uma cópia discarada do UNIX.
- Essa afirmação é verdadeira ou falsa?" 0 0
- if [ $? -eq 1 ]; then
- let total++
- fi
- pergunta5=$(
- sound
- dialog --stdout --title "Pergunta 5" --backtitle "$programa" \
- --inputbox "Qual nome do Criador do Kernel Linux?" 0 0
- )
- pergunta5=${pergunta5,,}
- if [ "$pergunta5" = "linus torvalds" ]; then
- let total++
- fi
- pergunta6=$(
- sound
- dialog --stdout --title "Pergunta 6" --backtitle "$programa" \
- --radiolist "
- Qual foi a sêquencia de criação destes projetos!?" \
- 0 0 0 \
- 1 "GNU/Linux, Minix, UNIX" off \
- 2 "Fernandinho beira mar, Pedro meu vizinho, UNIX" off \
- 3 "UNIXX, Minix, GNU/Linux" off \
- 4 "Carla perez, UNIX, Ivete sangalo, Luan santana" off \
- 5 "UNIX, Minix, GNU/Linux" off \
- 6 "Minix, UNIX, GNU/Linux" off \
- 7 "UNIX, Windows, MAC, Kurumin" off \
- 8 "Windows, UNIX, GNU/Linux, MAC" off )
- if [ $pergunta6 -eq 5 ]; then
- let total++
- elif [ -z $pergunta6 ]; then
- variavel_nula
- fi
- pergunta7=$(
- sound
- dialog --stdout --title "Pergunta 7" --backtitle "$programa" \
- --radiolist "
- Sabemos que um Vetor ou Array consegue armazenar várias 'strings ou números' no mesmo local.
- Diferentemente de uma simples váriavel, que consegue armazer somente uma 'string ou número'
- Veja o exemplo:
- array1=(pipoca massinha pera 'pão com ovo')
- Preciso fazer uma chamada de todas strings em seguida, preciso chamar o 'pão com ovo' somente.
- Faça sua escolha:" \
- 0 0 0 \
- 1 'array1${{all}} , array1${{3}}' off \
- 2 "array1(1,2,3) , array1(2)" off \
- 3 '${array[@]} , ${array[3]}' off )
- if [ $pergunta7 -eq 3 ]; then
- let total++
- elif [ -z $pergunta7 ]; then
- variavel_nula
- fi
- pergunta8=$(
- sound
- dialog --stdout --title "Pergunta 8" --backtitle "$programa" \
- --radiolist "
- O que o teste está testando e esse código irá funcionar?
- equal=;[ -z $equal ]&& exit 1 || continue" \
- 0 0 0 \
- 1 "equal é nula, sim irá funcionar" off \
- 2 "equal é igual, sim irá funcionar" off \
- 3 "equal é igual ou maior, não irá funcionar" off \
- 4 "equal é não nula, sim irá funcionar" off )
- if [ $pergunta8 -eq 1 ]; then
- let total++
- elif [ -z $pergunta8 ]; then
- variavel_nula
- fi
- # Pergunta 9
- sound
- dialog --stdout --title "Pergunta 9" --backtitle "$programa" \
- --yes-label "Verdadeiro" --no-label "Falso" \
- --yesno "
- O dpkg é uma ferramenta de baixo nível, serve para manutenção de pacotes na distribuição debian.
- Ele teve seu primeiro código escrito em perl posteriormente teve uma grande parte,
- reescrito em C.
- Essa afirmação é verdadeira ou falsa?" 0 0
- if [ $? -eq 0 ]; then
- let total++
- fi
- pergunta10=$(
- sound
- dialog --stdout --title "Pergunta 10" --backtitle "$programa" \
- --checklist "
- O comando touch como sabemos serve para criar arquivos. (sabemos que isso não presta).
- Selecione 'DUAS' formas práticas de verificar se o arquivo existe e criar.
- " \
- 0 0 0 \
- 1 "[ ! -e arquivo ]&& touch arquivo" off \
- 2 "> arquivo" off \
- 3 "echo 'texto' > arquivo" off \
- 3 "[ ! -e arquivo ]&& > arquivo && echo 'texto legal' > arquivo" off )
- if [ $pergunta10 -eq 2 ]; then
- let total++
- fi
- if [ $total -ge 8 ]; then
- final=$(echo "$nome-finalizado.$RANDOM.key")
- dialog --stdout --title "FINALIZADO" --backtitle "$programa" \
- --ok-label "Curta meus vídeos!" \
- --msgbox "
- PÁRABENS $nome!!!!! seu total foi de $total pontos!
- Fico feliz que você manja e provávelmente estuda.
- criei uma chave para você, poste no meu canal do youtube está chave.
- Com está chave eu sei que você conseguiu!
- $final" 0 0
- else
- dialog --stdout --title "FINALIZADO" --backtitle "$programa" \
- --msgbox "
- $nome, isso é vergonhoso! sua pontuação foi de $total.
- Se você tem menos de 1 ano de linux eu te dou um desconto!" 0 0
- fi
|