Comandos e estruturas básicas de shell script

Publicado por CLEMILTON OLIVEIRA (última atualização em 30/11/2009)

[ Hits: 7.705 ]

Homepage: www.helpdesktechnology.xpg.com.br, www.mcsinfo.xpg.com.br

Download desmonta_cdrom




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!

  



Esconder código-fonte

#!/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

Scripts recomendados

Cálculo do fatorial

Mostrar detalhes dispositivo de Hardware

Duplicando CDs de áudio e dados

Ordena os números em ordem ascendente!

Atualizando o banco de dados do ClamAV sem freshclam


  

Comentários
[1] Comentário enviado por vitinho217 em 24/06/2014 - 09:19h

Gostei, simples e didático !


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts