sexta-feira, 7 de fevereiro de 2014

Shell Script com Dialog - Usando o YESNO (dialog --yesno)

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)

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

Nenhum comentário:

Postar um comentário