Apostila interativa de linux (incompleto)
Publicado por Edersom 09/11/2004
[ Hits: 11.823 ]
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
Limpa comentários e linhas em branco nos arquivos de configuração (.conf)
Atualizando páginas automaticamente com Lynx
Inserção de máquinas no banco de dados para controle interno
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Programa fora de escala na tela do pc (16)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)
O programa assinador digital (1)









