Segue o resumo de comandos e conceitos vistos em Sala de Aula.
Este é um material de apoio aos meus alunos que tem todo embasamento durante as aulas presenciais.
Você pode encontrar todos os resumos de aula no link abaixo:
Estas aulas são dedicadas ao uso de Shell Script com o recurso Dialog.
"O Dialog é um programa usado para desenhar interfaces amigáveis para o usuário, com botões e menus, a partir de um Shell Script." (aurelio.net/shell/dialog)
Para usar o recurso de caixas com o dialog, é necessário que você o instale na sua distribuição.
Caso você use DEBIAN/MINT/UBUNTU e derivados, faça:
# apt-get install dialog
Caso você use REDHAT/FEDORA/CENTOS e derivados, faça:
# yum install dialog
Este exemplo, usaremos o recurso calendário. O calendário, além de exibir par ao usuário um calendário com a data do sistema ( ou com uma data pré-fixada), pode também capturar uma data que o usuário escolheu.
Você pode testar direto na linha de comando, ou usar um script.
Faça você mesmo:
# dialog --calendar "Calendario Atual" 0 0
Veja um exemplo mais completo utilizando o script abaixo que produz as seguintes telas:
Código fonte deste script:
#!/bin/bash
##########################################################
# Scripts de Exemplo de Uso de Shell Script com Dialog #
# Obs: Nao esqueca que para funcionar o pacote dialog #
# tem que estar instalado no seu S.O. #
# #
# Autor: Dailson Fernandes - contato@dailson.com.br #
# Licenca: GNU/GPL #
##########################################################
# Exibe uma mensagem simples para o usuario.
# Obs: A barra invertida quebra a linha esteticamente,
# Porem nao ha quebra no comando.
dialog --msgbox " Exibindo um Calendario \n \
Com a Data Capturada do Sistema" 0 0
# Exibe um calendario Com Ano,Mes e dia do Sistema
dialog --calendar "Calendario Atual" 0 0
dialog --msgbox " Exibindo um Calendario \n \
Com uma Data Especifica \n (Janeiro de 1972)" 8 40
# Exibe um calendario Com Ano,Mes especificado
dialog --calendar "Calendario de Janeiro de 1972" 0 0 01 01 1972
dialog --msgbox " Exibindo um Calendario \n \
Armazenando em uma variavel \n E exibido a escolha " 8 40
# Armazena a escolha do usuario na variavel DATA
# Note a presenca do --stdout e do subshell $(comando)
DATA=$(dialog --stdout --calendar "Escolha a Data de Pagamento" 0 0 )
dialog --msgbox "A Data Escolhida foi: $DATA" 0 0
clear
Baixe este script em:
http://www.reconstrucao.org/palestra/shell/dialog/calendar.sh
Baixe todos os scripts de exemplos de dialog:
http://www.reconstrucao.org/palestra/shell/dialog/dialog.tar.gz