Comandos e estruturas básicas de shell script
Publicado por Perfil removido (última atualização em 30/11/2009)
[ Hits: 8.728 ]
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
Array de números aleatórios não-repetidos de um intervalo em Shellscript (Bashscript)
ola_mundo.sh - Mostra a mensagem "Olá Mundo" na tela
Mostrando informações sobre o sistema
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Olá quais distribuições recomendam para usar no dia a dia. (4)
A coisa universal é muito mais ampla do que cê imagina (13)
Vc tem um projeto opensource? link? (5)
minha maquina foi desinstalada o firefox eu preciso reinstalar tentei... (6)