Comandos e estruturas básicas de shell script
Publicado por Perfil removido (última atualização em 30/11/2009)
[ Hits: 8.609 ]
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
Verifica se quem executa é root
Rotina de Vacuum para banco de Dados Postgres
Script de Instalação do ISC DHCP SERVER no Ubuntu e derivados
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Ativando o Modo Noturno via Linha de Comando no GNOME/Wayland
Preparando pendrive com GNU/Linux [Corretamente!]
Instalando Google Chrome no Fedora 40
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
Navegadores com linhas na tela (5)
Pi Network.... alguém minera? (5)
Virtual Host no Webmin [PHP] (1)