Criando um menu em shell script

Publicado por Claucilei B dos Santos em 22/08/2006

[ Hits: 34.675 ]

 


Criando um menu em shell script



Estarei abordando o tema menu em shell script. Tenho visto na internet uma imensidão de scripts cheios de IF, else (condições lógicas), tornando o script difícil de ser interpretado, algoritmo lento ao ser lido pelo interpretador de comandos, no entanto existem comandos que podem minimizar de maneira muito fácil e prática esta tarefa.

Os comandos que estarei utilizando para este menu de opções são: case e while.

Segue o exemplo do menu:

#!/bin/bash
# Menu Shell

menu ()
{
a="ok"

while true $a !="ok"
do
   echo "MENU PRINCIPAL"
   echo ""
   echo "1 - Executar comando1"
   echo "2 - Executar comando2"
   echo "3 - Executar comando3"
   echo "4 - Finalizar e Carregar as Alterações"
   echo ""
   echo "OBS. pressione 'ctrl+c' p/ sair sem reiniciar o Linux"
   echo ""
   echo "Digite a opção desejada: "
   read a
   case $a in
   4) clear; echo "FINALIZADO O SCRIPT REINICIANDO O SERVIDOR";
sleep 2; reboot;
sleep 2; clear; break;;
   1)comando1;;
   2)comando2;;
   3)comando3;;
   4)reboot;;
   esac
done
}

menu

Bem, fácil não? Hoje em dia a criação de scripts em shell é muito utilizada, justamente por ser uma maneira de agilizar operações que levaria muito tempo para ser feita se fosse por linhas de comandos. Por outro lado é usado também para facilitar o manuseio de usuário iniciantes que precisam lidar com servidor para fazer backups e outras tarefas.

Uma dica importante: Não vire um robô de script, aprenda fazer e utilize-os, mas não perca a essência, não deixe de usar a linha de comando, mesmo que seja pra praticar, pois a falta de prática leva ao esquecimento...

T+ pessoal

Outras dicas deste autor

Barrando arquivos por extensão no servidor Samba

Visualizando acentos corretamente em compartilhamentos Windows

Leitura recomendada

Ativando o teclado numérico (Num Lock) ao inicar seu sistema

Ingressando Ubuntu 14 no Samba4

Como desativar barulho chato do Manjaro XFCE ao apertar botão backspace

VMWare - Cluster - Load balancing

Relátorios por nomes SARG Mandriva 2008 Spring

  

Comentários
[1] Comentário enviado por tenchi em 09/01/2007 - 00:05h

Se eu não me engano, há um comando específico para a criação de menus, que é o select.
Boa iniciativa.

[2] Comentário enviado por navegador_x11 em 09/01/2007 - 11:02h

Bem amigo, realmente existe o comando select, porém o seu uso é um pouco mais complexo, esta dica foi elaborada para usuários iniciantes em programação shell, porém se vc quiser elaborar uma dica sobre o select, vai ser bem recebida pelo Vol. ñ quer Tentar? Estou aguardando!
Ab!



Contribuir com comentário




Patrocínio

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts