Comandos e estruturas básicas de shell script
Publicado por Perfil removido (última atualização em 30/11/2009)
[ Hits: 8.760 ]
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
rc.squid start|stop|restart Servidor Proxy
Calculo de notas - Incrementar um array em shell dinamicamente
Script para conversão de videos em lote
Formatar o terminal com cores e efeitos
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
driver do repositorio debian nao atende o requisito minimo [RESOLVIDO]... (9)