Comandos e estruturas básicas de shell script
Publicado por Perfil removido (última atualização em 30/11/2009)
[ Hits: 8.684 ]
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
Baixa e instala WinRAR no Linux
Backup somente se o notebook estiver conectado à rede wireless
Compartilhamento de internet 3g para uma rede domésctica
Calculo de notas - Incrementar um array em shell dinamicamente
Configurando clientes NIS em distros baseadas no Red Hat
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
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
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como deixar as abas do Firefox mais fininhas
Mudar o gerenciador de login (GDM para SDDM)
"Tentando" fazer com que programas rodem no Wayland e no X11
UTILIZAÇÃO SISTEMA OPERACIONAL - LINUX (0)
Falha ao carregar drivers [RESOLVIDO] (2)
Formatar NVM Express 1.3 de forma segura por completo (4)
Problema ao usar monitor externo via USB-C/Display... no Ubuntu 24 (1)
[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