Apostila interativa de linux (incompleto)
Publicado por Edersom 09/11/2004
[ Hits: 11.563 ]
Este Script, eh apenas uma estrutura que montei a fim de montar uma apostila on-line de linux, mas como meus conhecimentos saum um pouco fraquinhos (podem observar isso no código fonte do script) Resolvi pedir ajuda :D
Bom, Se surgir alguma Dúvida, naum deixe de me consultar
valews galera!!!!!!
fuiiiiiiii
#!/bin/sh # # SCRIPT: # AUTOR: EDERSOM ANGELO DA SILVA (maxmaxine@gmail.com) # DATA: 07/11/2004 # REV: 1.1.B # PLATAFORMA: LINUX # # FINALIDADE: # Criar uma ferramenta eficaz de auxilio ao estudo do linux, # # reunindo o máximo possivel de documentação sobre vários assuntos # # # LISTA DE REVISAO: # # DATA: data_da_modificação # POR: Autor_da_modificação # MODIFICAÇÃO: Modificação realizada. # # LICENÇA: GLP # # # DECLARAÇÕES DO AUTOR: # Eu sou ainda um filhote de pinguim # # Não possuo muitos conhecimentos no mundo Linux # # Por isso, não ligue se ver alguma bobeira escrita # # Pois afinal eu ainda estou aprendendo (como voce) # # E foi pensando nisto, que criei este Script, para # # Poder aprender mais Sobre linux, e oferecer para quem # # Quiser, uma ferramenta de estudo interessante didaticamente falando # # set -n # Tire o comantário para verificar sua sintaxe, sem executar. # # Obs: Não se esqueça de recolocá-lo, caso contrário o script naum funcionará # set -x # Retire o comantário para Depurar este shell-script (Apenas korn shell (ksh)) # # ############################################# ### ABAIXO ESTAO DEFINIDAS AS VARIÁVEIS ### ############################################# DIALOG=${DIALOG=dialog} TITU='Estudo Interativo' BACK='Tux o Pinguim Selvagem' tempfile='/tmp/tmpfile' PROXIMA=primeira calc=${calc=/tmp/calc} ################################################ ### TENHO NEM IDEIA DE COMO CHAMAR O RESTO ### ################################################ while : # Gera o loop Principal do case "$PROXIMA" in # Executa as sequencias definidas na variável atual #------------------------------------------------------------------------------------------------------------------------------- #TELA INICIAL primeira) PROXIMA=menu_1 #define que a proxima tela a ser exibida será o menu Principal $DIALOG \ --backtitle "$BACK" \ --title "$TITU" \ --msgbox \ "Bem-vindo Programa de auxilio ao estudo do Linux\n Este script almeja ser uma ferramenta completa para o auxilio ao estudo Inicial/Avançado do linux" \ 0 0 ;; #------------------------------------------------------------------------------------------------------------------------------- #Menu principal menu_1) $DIALOG \ --backtitle "$BACK" \ --title "$TITU" \ --cancel-label "Sair" \ --menu \ "Menu Principal\n Escolha uma das opçoes abaixo" \ 10 40 3 \ 1 "Estudar" \ 2 "Responder Questionário" \ Ca "Calculadora Simples" 2>$tempfile valret=$? if [ "$valret" == 0 ] then PROXIMA=`cat $tempfile` # Define váriavel de acordo com a escolha else exit 0 fi ;; #------------------------------------------------------------------------------------------------------------------------------- ################################################################################################################################ ################################################################################################################################ # Menu 1-2 # Aqui é feita a escolha da categoria da matéria a ser estudada 1) $DIALOG \ --backtitle "$BACK" \ --title "$TITU" \ --cancel-label 'VOLTAR' \ --menu \ 'Menu Estudar\nEscolha uma das opçoes abaixo' \ 0 0 0 \ Ln "Linux Básico" \ Rl "Redes linux" \ Sl "Servidores Linux" 2>$tempfile valret=$? if [ "$valret" == 0 ] then PROXIMA=`cat $tempfile` else PROXIMA='menu_1' fi ;; #------------------------------------------------------------------------------------------------------------------------------- Ln) PROXIMA=1 $DIALOG \ --backtitle "$BACK" \ --title "$TITU" \ --yesno \ "Voce escolheu Linux Básico\ncontinuar?" \ 0 0 # valret=$? if [ "$?" == 0 ] then pwd >$tempfile $DIALOG \ --backtitle "$BACK" \ --title "$TITU" \ --cancel-label 'VOLTAR' \ --menu \ 'Escolha uma das opçoes abaixo' \ 0 0 0 \ Hl "História do Linux" \ Db "O que é e como escolher uma distro" \ In "Instalação do Linux" \ Au "Administração de usuários" \ Sx "Servidor X" \ Os "O que é shell?" \ Ic "Introdução aos Comandos" \ Ta "Trabalhando com arquivos" \ Cg "Configurações gerais" \ Cs "Comandos úteis" 2>/tmp/resp1 if [ "$?" == 0 ] then tmp=`cat $tempfile` opcao=`cat /tmp/resp1` local=$tmp/Ln PROXIMA=RsP else PROXIMA=1 fi else PROXIMA=1 fi ;; #------------------------------------------------------------------------------------------------------------------------------- Rl) PROXIMA=1 $DIALOG \ --backtitle "$BACK" \ --title "$TITU" \ --yesno \ "Voce escolheu Redes Linux\ncontinuar?" \ 0 0 # valret=$? if [ "$?" == 0 ] then pwd >$tempfile $DIALOG \ --backtitle "$BACK" \ --title "$TITU" \ --cancel-label 'VOLTAR' \ --menu \ 'Escolha uma das opçoes abaixo' \ 0 0 0 \ Rc "Arquivos de configuração da rede" \ Rf "Front-Ends para configuração de rede" \ Rd "Dispositivos de Rede" \ Rp "Protocolos" \ Rt "TCP/IP" \ Ro "Topologia" \ Rc "Cabeamento" \ Rh "Hub" \ Rs "Switch" 2>/tmp/resp1 if [ "$?" != 1 ] then local=`cat $tempfile` opcao=`cat /tmp/resp1` local=$tmp/Rl PROXIMA=RsP else PROXIMA=1 fi else PROXIMA=1 fi ;; #------------------------------------------------------------------------------------------------------------------- Sl) PROXIMA=1 $DIALOG \ --backtitle "$BACK" \ --title "$TITU" \ --yesno \ "Voce escolheu Servidores Linux\ncontinuar?" \ 0 0 # valret=$? if [ "$?" == 0 ] then pwd >$tempfile $DIALOG \ --backtitle "$BACK" \ --title "$TITU" \ --cancel-label 'VOLTAR' \ --menu \ 'Escolha uma das opçoes abaixo' \ 0 0 0 \ Sr "Roteadores" \ Sa "Apache" \ Sq "Squid" \ Sm "Samba" \ Sf "Proftp" \ Se "Email (SMTP/POP)" \ Sh "DHCP" \ Sn "DNS" \ Sd "NIS" \ St "LTSP" \ Sa "NFS" 2>/tmp/resp1 if [ "$?" != 1 ] then local=`cat $tempfile` opcao=`cat /tmp/resp1` local=$tmp/Sl PROXIMA=RsP else PROXIMA=1 fi else PROXIMA=1 fi ;; RsP) $DIALOG \ --title "$TITU" \ --textbox $local/$opcao \ 0 0 rm -r /tmp/resp1 PROXIMA=1 ;; ################################################################################################################################ ################################################################################################################################ # Menu 2-2 # Aqui é feita a escolha da categoria da matéria a se responder o questionário 2) $DIALOG \ --backtitle "$BACK" \ --title "$TITU" \ --cancel-label 'VOLTAR' \ --menu \ 'Menu Questionario\n Escolha uma das opçoes abaixo' \ 0 0 0 \ Lb "Linux Básico" \ Re "Redes linux" \ Ss "Servidores Linux" 2>$tempfile valret=$? if [ "$valret" == 0 ] then PROXIMA=`cat $tempfile` else PROXIMA='menu_1' fi ;; #------------------------------------------------------------------------------------------------------------------------------- ################################################################################################################################ Lb) PROXIMA=2 $DIALOG \ --backtitle "$BACK" \ --title "$TITU" \ --yesno \ "Voce escolheu Linux Básico\nContinuar?" \ 0 0 \ if [ "$?" == 0 ] then #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #PERGUNTA 1 $DIALOG \ --title "$TITU" \ --nocancel \ --backtitle "$BACK" \ --radiolist \ "Pergunta 1" \ 0 0 0 \ R1 'Resposta 1' off \ R2 'Resposta 2' off \ R3 'Resposta 3' off \ R4 'Resposta 4' off \ R5 'Resposta 5' off 2>/tmp/P1 resp1=`cat /tmp/P1` if [ "$resp1" != R1 ] # VERIFICA SE A QUESTÃO ESTA CORRETA OU NÃO then #GRAVA AS VARIÁVEIS CASO RESPOSTA DIFERENDE DE R1 INC1='A RESPOSTA DA P1 EH...' COR1='VC ERROU!' else #GRAVA AS VARIÁVEIS CASO RESPOSTA IGUAL A R1 INC1='VC ACERTOU!' COR1='PERGUNTA 1' fi $DIALOG --title "$TITU" --backtitle "$BACK" --msgbox "$INC1\n$COR1" 8 60 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #PERGUNTA 2 $DIALOG \ --title "$TITU" \ --backtitle "$BACK" \ --nocancel \ --radiolist \ "Pergunta 2" \ 0 0 0 \ R1 'Resposta 1' off \ R2 'Resposta 2' off \ R3 'Resposta 3' off \ R4 'Resposta 4' off \ R5 'Resposta 5' off 2>/tmp/P2 resp2=`cat /tmp/P2` if [ "$resp2" != R1 ] # VERIFICA SE A QUESTÃO ESTA CORRETA OU NÃO then #GRAVA AS VARIÁVEIS CASO RESPOSTA DIFERENDE DE R1 INC2='A RESPOSTA DA P2 EH...' COR2='VC ERROU!' else #GRAVA AS VARIÁVEIS CASO RESPOSTA IGUAL A R1 INC2='VC ACERTOU!' COR2='PERGUNTA 2' fi $DIALOG --title "$TITU" --backtitle "$BACK" --msgbox "$INC2\n$COR2" 8 60 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PROXIMA=resultado else PROXIMA=2 fi ;; #------------------------------------------------------------------------------------------------------------------------------- # Questionario de Redes Re) PROXIMA=2 $DIALOG \ --backtitle "$BACK" \ --title "$TITU" \ --yesno \ "Voce escolheu Redes Linux\nContinuar?" \ 0 0 \ if [ "$?" == 0 ] then #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #PERGUNTA 1 $DIALOG \ --title "$TITU" \ --backtitle "$BACK" \ --nocancel \ --radiolist \ "Pergunta 1" \ 0 0 0 \ R1 'Resposta 1' off \ R2 'Resposta 2' off \ R3 'Resposta 3' off \ R4 'Resposta 4' off \ R5 'Resposta 5' off 2>/tmp/P1 resp1=`cat /tmp/P1` if [ "$resp1" != R1 ] # VERIFICA SE A QUESTÃO ESTA CORRETA OU NÃO then #GRAVA AS VARIÁVEIS CASO RESPOSTA DIFERENDE DE R1 INC1='A RESPOSTA DA P1 EH...' COR1='VC ERROU!' else #GRAVA AS VARIÁVEIS CASO RESPOSTA IGUAL A R1 INC1='VC ACERTOU!' COR1='PERGUNTA 1' fi $DIALOG --title "$TITU" --backtitle "$BACK" --msgbox "$INC1\n$COR1" 8 60 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #PERGUNTA 2 $DIALOG \ --title "$TITU" \ --backtitle "$BACK" \ --nocancel \ --radiolist \ "Pergunta 2" \ 0 0 0 \ R1 'Resposta 1' off \ R2 'Resposta 2' off \ R3 'Resposta 3' off \ R4 'Resposta 4' off \ R5 'Resposta 5' off 2>/tmp/P2 resp2=`cat /tmp/P2` if [ "$resp2" != R1 ] # VERIFICA SE A QUESTÃO ESTA CORRETA OU NÃO then #GRAVA AS VARIÁVEIS CASO RESPOSTA DIFERENDE DE R1 INC2='A RESPOSTA DA P2 EH...' COR2='VC ERROU!' else #GRAVA AS VARIÁVEIS CASO RESPOSTA IGUAL A R1 INC2='VC ACERTOU!' COR2='PERGUNTA 2' fi $DIALOG --title "$TITU" --backtitle "$BACK" --msgbox "$INC2\n$COR2" 8 60 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PROXIMA=resultado else PROXIMA=2 fi ;; #------------------------------------------------------------------------------------------------------------------------------- # Questionário de Servidores Linux Ss) PROXIMA=2 $DIALOG \ --backtitle "$BACK" \ --title "$TITU" \ --yesno \ "Voce escolheu Servidores Linux\nContinuar?" \ 0 0 \ if [ "$?" == 0 ] then #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #PERGUNTA 1 $DIALOG \ --title "$TITU" \ --backtitle "$BACK" \ --nocancel \ --radiolist \ "Pergunta 1" \ 0 0 0 \ R1 'Resposta 1' off \ R2 'Resposta 2' off \ R3 'Resposta 3' off \ R4 'Resposta 4' off \ R5 'Resposta 5' off 2>/tmp/P1 resp1=`cat /tmp/P1` if [ "$resp1" != R1 ] # VERIFICA SE A QUESTÃO ESTA CORRETA OU NÃO then #GRAVA AS VARIÁVEIS CASO RESPOSTA DIFERENDE DE R1 INC1='A RESPOSTA DA P1 EH...' COR1='VC ERROU!' else #GRAVA AS VARIÁVEIS CASO RESPOSTA IGUAL A R1 INC1='VC ACERTOU!' COR1='PERGUNTA 1' fi $DIALOG --title "$TITU" --backtitle "$BACK" --msgbox "$INC1\n$COR1" 8 60 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #PERGUNTA 2 $DIALOG \ --title "$TITU" \ --backtitle "$BACK" \ --nocancel \ --radiolist \ "Pergunta 2" \ 0 0 0 \ R1 'Resposta 1' off \ R2 'Resposta 2' off \ R3 'Resposta 3' off \ R4 'Resposta 4' off \ R5 'Resposta 5' off 2>/tmp/P2 resp2=`cat /tmp/P2` if [ "$resp2" != R1 ] # VERIFICA SE A QUESTÃO ESTA CORRETA OU NÃO then #GRAVA AS VARIÁVEIS CASO RESPOSTA DIFERENDE DE R1 INC2='A RESPOSTA DA P2 EH...' COR2='VC ERROU!' else #GRAVA AS VARIÁVEIS CASO RESPOSTA IGUAL A R1 INC2='VC ACERTOU!' COR2='PERGUNTA 2' fi $DIALOG --title "$TITU" --backtitle "$BACK" --msgbox "$INC2\n$COR2" 8 60 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ PROXIMA=resultado else PROXIMA=2 fi ;; #------------------------------------------------------------------------------------------------------------------------------- resultado) PROXIMA=2 $DIALOG \ --backtitle "$BACK" \ --title "$TITU" \ --yesno \ "PRONTO PARA VER O RESULTADO DA CAGADA?" \ 0 0 valret=$? if [ "$valret" == 0 ] then $DIALOG \ --backtitle "$BACK" \ --title "$TITU" \ --msgbox \ "Corretas Incorretas \n $COR1 $INC1 \n $COR2 $INC2 \n $COR3 $INC3 \n $COR4 $INC4 \n $COR5 $INC5 \n" \ 0 0 else PROXIMA=2 fi ;; #------------------------------------------------------------------------------------------------------------------------------- ################################################################################################################################ ################################################################################################################################ #Calculadora Simples Ca) $DIALOG \ --title "Calculator" \ --ok-label "RESULTADO" \ --cancel-label "VOLTAR" \ --backtitle "$BACK" \ --inputbox \ "Calcula no formato 1+1" 8 25 2>$calc if [ "$?" != 1 ] then resu=`cat $calc` $DIALOG \ --title "Resultado" \ --backtitle "$BACK" \ --msgbox $((resu)) 0 0 else PROXIMA=menu_1 fi ;; esac #------------------------------------------------------------------------------------------------------------------------------- #rm -f /tmp/resp1 rm -f /tmp/resp2 rm -f /tmp/resp3 rm -f /tmp/resp4 rm -f /tmp/resp5 rm -f /tmp/resp6 rm -f /tmp/resp7 rm -f /tmp/resp8 #------------------------------------------------------------------------------------------------------------------------------- done #FIM
Veja os 10 últimos tópicos das comunidades
Bloqueia ataques do tipo bruteforce
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Estou com sede em aprender sobre o nosso querido Linux. (1)
big linux sem audio como resolver (2)
Como faz para dar um update-grub por shell script [RESOLVIDO] (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta