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)
"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)
Recomendo a leitura do melhor manual em português de DIALOG que existe: http://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
# yum install dialog
Caso você use REDHAT/FEDORA/CENTOS e derivados, faça:
Este exemplo, usaremos o recurso para questionar o usuário. O usuário poderá escolher entre SIM e NÃO. É possível capturar a escolha do usuário através do script.
Você pode testar direto na linha de comando, ou usar um script.
Faça você mesmo.
# dialog --yesno "Voce e feliz?" 0 0
Veja um exemplo mais completo utilizando o script abaixo que produz as seguintes telas:
#!/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.
# E espera que ele pressione enter.
dialog --msgbox "Questionando o Usuario..." 6 30
# Obs: A barra invertida quebra a linha esteticamente,
# Porem nao ha quebra no comando.
dialog --yesno "Voce e feliz?" 0 0
dialog --msgbox "Descobrindo que botao \no usuario pressionou...." 6 30
# Primeira maneira de saber qual botao o usuario pressionou.
dialog --yesno "Voce e Bonito?" 0 0 \
&& dialog --msgbox "O Usuario Pressionou YES" 6 30 \
||dialog --msgbox "O Usuario Pressionou NO" 6 30
dialog --msgbox "Pressiona o outro Botao agora \n So pra testar :)" 6 40
# Primeira maneira de saber qual botao o usuario pressionou.
dialog --yesno "Voce e Feio?" 0 0 \
&& dialog --msgbox "O Usuario Pressionou YES" 6 30 \
||dialog --msgbox "O Usuario Pressionou NO" 6 30
# Segunda maneira de saber que botao o usuario pressionou.
# Atraves do retorno da variavel $?
# Se o retorno for 0 - O Usuario pressionou YES.
# Se o retorno for 1 - O Usuario pressionou NO.
dialog --msgbox "Descobrindo o Botao que o usuario pressionou \n
Atraves do Retorno da Variavel \$? \n
Se O usuario pressionou YES \$?=0 \n
Se O usuario pressionou NO \$?=1" 8 50
# Primeira maneira de saber qual botao o usuario pressionou.
dialog --yesno "Voce e Simpatico?" 0 0
if [ "$?" = "0" ]
then
dialog --msgbox "O Usuario Pressionou YES" 6 30
else
dialog --msgbox "O Usuario Pressionou NO" 6 30
fi
clear
Baixe este script em:
http://www.reconstrucao.org/palestra/shell/dialog/yesno.sh
Baixe todos os scripts de exemplos dialog:
Baixe todos os scripts de exemplos dialog: