Comandos e estruturas básicas de shell script
Publicado por Perfil removido (última atualização em 30/11/2009)
[ Hits: 8.929 ]
Segue um script básico criado por mim para apresentar à turma de sistemas operacionais abertos, do professor Robson Vaz, que contém exemplos básicos de FUNÇÃO, IF, CASE etc.
Dá uma ideia legal de como usar tais ferramentas na construção de um script mais elaborado.
Como disse, é um script simples onde desmonta cdrom, abre bandeja, fecha.
Espero que ajude aos amigos que estão começando nesse mundo de script. E que os comandos sirvam de consulta aqui no VOL e outros sites relacionados a Linux e scripts.
Abs a todos!
#!/bin/bash
#Função GUI
GUI(){
while : ; do
# Mostra o menu na tela, com as ações disponíveis
opcao=$(
dialog --stdout \
--title 'Desmontando Cdrom' \
--menu 'escolha a opção que deseja executar e precione Enter:' \
0 0 0 \
1 'Desmontar CdRom' \
2 'Abrir bandeja Cdrom' \
3 'Fechar bandeja Cdrom' \
4 'Sair do Script' )
# Caso seja apertado Cancelar ou ESC...
[ $? -ne 0 ] && main
# Executa o que foi escolhido
case "$opcao" in
1) umount /dev/cdrom ;;
2) eject ;;
3) eject -t ;;
4) break;;
esac
done
# Mensagem de saida
echo 'Volte Sempre!'
echo "http://www.vivaolinux.com.br/~clemiltonoliver"
echo " "
sleep 2
main
} #Fim da Função GUI
#----------------------------------------------------------------------------------------
#Função que verifica se Cdrom esta desmontado
ver_cd (){
if ! fgrep -q "/media/cdrom" /etc/mtab; then
echo Cdrom não esta montado
else
echo "Desmontando CDROM..."
echo Aguarde...
for ((i=0;i!=5;i++)); do
sleep 1
echo -ne "##########"
done
umount /dev/cdrom
fi
} #Fim da Função que verifica Cdrom montado
#----------------------------------------------------------------------------------------
#Função MAIN
main(){
clear
echo " "
echo '*******************************************************************************'
echo '* ..............................::Creditos::................................. *'
echo '* Scritp criado pelo Aluno: Clemilton Oliveira - Matricula 5403442 *'
echo '* Apresentado à disciplina de Sistemas Operacionais Abertos do Curso Tec. em *'
echo '* Analise de Sistemas - Faculdade Unigranrio *'
echo '* Professor: Robson Vaz *'
echo '*******************************************************************************'
echo " "
echo "Digite a opção que deseja executar:"
echo " "
echo "1) Desmontar Cdrom"
echo "2) Abrir bandeja Cdrom"
echo "3) Fechar bandeja Cdrom"
echo "4) Interface Grafica (Dialog)"
echo "5) Sair do Script"
#Variavel de entrada de dados - Recebe o que foi digitado no prompt
read opcao
#Opção 1
if [ "$opcao" = "1" ]; then
ver_cd
echo " "
sleep 3
main
fi
#Opção 2
if [ "$opcao" = "2" ]; then
echo Abrindo bandeja...
echo Aguarde...
for ((i=0;i!=5;i++)); do
sleep 1
echo -ne "##########"
done
eject
echo " "
echo " "
echo "Bandeja Aberta!"
sleep 3
main
fi
#Opção 3
if [ "$opcao" = "3" ]; then
echo Fechando bandeja...
echo Aguarde...
for ((i=0;i!=5;i++)); do
sleep 1
echo -ne "##########"
done
eject -t
echo " "
echo " "
echo "Bandeja Fechada!"
sleep 3
main
fi
#Opção 4
if [ "$opcao" = "4" ]; then
GUI
fi
#Opção 5
if [ "$opcao" = "5" ]; then
clear
echo " "
echo "Volte Sempre!!!"
echo "http://www.vivaolinux.com.br/~clemiltonoliver"
echo " "
exit 1
fi
} #Fim da função "MAIN"
#Chamada da Função principal MAIN
main
Adicionar sites para serem bloqueados pelo squid
Pós-instalação para Ubuntu 20.04 e Linux Mint 19.03
zsh: Função para validação de IP (IPv4)
Obter temperatura do Weather.com
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Estou tentando ser legalista, mas tá complicado! (9)
espelhar monitores nao funciona (2)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (1)









