sexta-feira, 7 de fevereiro de 2014

Shell Script com Dialog - Usando o recurso de sobrepor caixas dialog.

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 de sobrepor caixas na mesma tela. Este recurso é usado em geral quando estamos tratando do mesmo assunto com o usuário. Ao usar este recurso, você deixa o seu script com um ar mais requintado e profissional ;)

Você pode testar direto na linha de comando, ou usar um script.

Veja um exemplo mais completo utilizando o script abaixo que produz as seguintes telas:






Código fonte do 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.
# E espera que ele pressione enter.

dialog --msgbox "Para usar este software, voce deve ler os termos
da GNU/GPL" 0 0

dialog --textbox gnugpl.txt 0 0
# O Parametro --and-widget dentro de um dialog eh capaz de chamar
# outra dialog especificar o tipo de deixar uma sobre a outra.
# O parametro --begin, especifica o local onde vai ficar a caixa
# na tela. Sendo o primeiro parametro a linha e o segundo a coluna do
# video.

dialog --yesno "Voce aceita os termos da GNU/GPL?" 0 0 \
 --and-widget --begin 10 30 --yesno "Tem Certeza ?" 0 0 \
 --and-widget --begin 12 35 --yesno "Veja la viu... ?" 0 0 \
 --and-widget --begin 14 40 --yesno "Nao vou perguntador de novo..." 0 0

clear


Shell Script com Dialog - Usando o RADIOLIST (dialog --radiolist)

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 radiolist, que exibe uma caixa para o usuário que permite que seja escolhido apenas um ítem. Estas caixas também são conhecidas como botão de rádio.

Você pode testar direto na linha de comando, ou usar um script.

Faça você mesmo:

dialog --radiolist 'Escolha Sua Opcao' 0 0 0 Item1 'Dormir' on Item2 'Descançar' off Item3 'Trabalhar' off

Veja um exemplo mais completo utilizando o script abaixo que produz as seguintes telas:






Código fonte do 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.
dialog --msgbox " Exibindo Radiolist \n para o Usuario" 7 30

# Obs: A barra invertida quebra a linha esteticamente,
#      Porem nao ha quebra no comando.

dialog --radiolist 'Escolha Sua Opcao' \
       0 0 0 Item1 'descricao do Item1' on \
             Item2 'Descricao do Item2' off \
             Item3 'Descricao do Item3' off \
             Item4 'Descricao do Item4' off \
             Item5 'Descricao do Item5' off \

dialog --msgbox "Capturando as escolhas do Usuario" 7 30

# Capturando as escolhas do usuario.
# Note a presenca do --stdout e do subshell $(comando)
ESCOLHA=$(dialog --stdout --radiolist 'Escolha Sua Opcao' \
       0 0 0 Item1 'descricao do Item1' on \
             Item2 'Descricao do Item2' off \
             Item3 'Descricao do Item3' off \
             Item4 'Descricao do Item4' off \
             Item5 'Descricao do Item5' off)

dialog --msgbox "O Item Escolhido foi: $ESCOLHA" 7 30

clear

Baixe este script em:
http://www.reconstrucao.org/palestra/shell/dialog/radiolist.sh
Baixe todos os scripts de exemplos dialog:

Shell Script com Dialog - Usando o PASSWORDBOX (dialog ----passwordbox)

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 passwordbox, que exibe uma caixa para o usuário digitar a senha. Esta caixa pode exibir a senha ou não. A senha digitada pelo usuário pode ser capturada pelo programador.

Você pode testar direto na linha de comando, ou usar um script.

Faça você mesmo:

# dialog --insecure --passwordbox 'Por favor digite a senha de acesso ao sistema' 0 0

Veja um exemplo mais completo utilizando o script abaixo que produz as seguintes telas:








Código fonte do 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                                       #
##########################################################
# Obs: A barra invertida quebra a linha esteticamente,
#      Porem nao ha quebra no comando.

# Exibe uma mensagem simples para o usuario.
dialog --msgbox "Solicitando uma senha \npara o usuario" 0 0

dialog --passwordbox 'Por favor digite a senha de acesso' 0 0

dialog --msgbox "Solicitando uma senha para o usuarioe exibindo \nasteriscos * " 8 30

dialog --insecure --passwordbox 'Por favor digite a senha de acesso ao sistema' 0 0

dialog --msgbox "Armazenando a senha em uma Variavel" 0 0

#Armazena a escolha do usuario na variavel ESCOLHA
# Note a presenca do --stdout e do subshell $(comando)

SENHA=$(dialog --insecure --stdout --passwordbox \
'Por favor digite a senha de acesso ao sistema' 0 0)

dialog --msgbox "A Senha digitada foi: \n$SENHA" 0 0
clear

Baixe este script em:
http://www.reconstrucao.org/palestra/shell/dialog/passwordbox.sh
Baixe todos os scripts de exemplos dialog:

Shell Script com Dialog - Dicas e Macetes :)

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 é um exemplo peculiar.  Ao invés de ensinar os recursos do Dialog, vamos a algumas dicas.
Veja o exemplo em telas, depois vá ao código fonte e descubra como fazer.

Veja um exemplo mais completo utilizando o script abaixo que produz as seguintes telas:








Código Fonte do 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.
# E espera que ele pressione enter.
dialog --msgbox "Algumas dicas ..." 6 30

# Obs: A barra invertida quebra a linha esteticamente,
#      Porem nao ha quebra no comando.


dialog --msgbox  "Mudando o nome dos Botoes" 0 0

# Mudando O nome dos Botoes
dialog --ok-label "Claro!" --msgbox "Voce e feio?"  0 0

dialog --colors --msgbox  "Voce tambem pode mudar a cor das mensagens
   \Z1 VERMELHO
   \Z2 VERDE
   \Z3 AMARELO
   \Z4 ROXO
   \Z5 MAGENTA
   \Z6 CIANO" 12 40

dialog --title "Mudando o Titulo da Caixa" --msgbox "Texto..." 0 0

dialog --msgbox  "Descobrindo se o usuario pressionou ESC" 0 0



if [ $? -eq 255 ]
then
   dialog --msgbox "Ei vei... Vc nao respondeu a pergunta" 0 0
fi

clear


Shell Script com Dialog - Usando o MSGBOX (dialog --msgobx)

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 msgbox, que exibe uma mensagem simples para o  usuário. Use esta caixa para informar o usuário e interagir com ele.

Você pode testar direto na linha de comando, ou usar um script.

Faça você mesmo:

# dialog --msgbox "Exibindo uma mensagem para o Usuario" 0 0

Veja um exemplo mais completo utilizando o script abaixo que produz as seguintes telas:


Código fonte do 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.
# E espera que ele pressione enter.
dialog --msgbox "Exibindo uma mensagem para o Usuario" 0 0

clear

Shell Script com Dialog - Usando o GAUGE (dialog --gauge)

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 inputbox, que exibe uma barra de progesso para o usuário. Ela pode ser usada de maneira "fake" ou se preferir, você pode fazer um bom trabalho de programação e torná-la real. No nosso caso, faremos o básico. Caso você tenha a intenção de se aprofundar no assunto, baixe este script de Aurélio e dê uma estudada nele ;) --> http://aurelio.net/shell/dialog/copydir.sh 

Você pode testar direto na linha de comando, ou usar um script.

Faça você mesmo:

# (echo 50; sleep 2; echo 100) | dialog --gauge 'Aguarde... ' 8 40 0

Veja um exemplo mais completo utilizando o script abaixo que produz as seguintes telas:








Código fonte do 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.
dialog --msgbox "Exibindo uma Barra de Progresso \npara o Usuario" 0 0

(echo 50; sleep 2; echo 100) | dialog --gauge 'Aguarde... ' 8 40 0

# Use: (echo % ; comando1 ; echo %; comando2 .. | dialog --gauge...
# Note o exemplo abaixo. A Cada um segundo, 10% da barra sera consumida.

dialog --msgbox "Simulando com o comando Sleep" 0 0

# Obs: A barra invertida quebra a linha esteticamente,
#      Porem nao ha quebra no comando.

(echo 10; sleep 1; \
echo 20; sleep 1; \
echo 30; sleep 1; \
echo 40; sleep 1; \
echo 50; sleep 1; \
echo 60; sleep 1; \
echo 70; sleep 1; \
echo 80; sleep 1; \
echo 90; sleep 1; echo 100) | dialog --gauge 'Aguarde... \n
Simulando com o Comando Sleep' 8 70 0

#Obs: Veja como ficaria este comando sem as barras invertidas dentro de um Script
#(echo 10; sleep 1;echo 20; sleep 1; echo 30; sleep 1; echo 40; sleep 1; echo 50; sleep 1; echo 60; sleep 1; echo 70; sleep 1; echo 80; sleep 1; echo 90; sleep 1; echo 100) | dialog --gauge 'Aguarde... ' 8 40 0

dialog --msgbox "Copiando arquivos..." 0 0

# Coloque entre os echo % as operacoes... Por exemplo:
(echo 10; cp  -R /etc/ /tmp; \
echo 30;  cp -R /etc/ /tmp/; \
echo 60;  cp -R /etc/ /tmp/; \
echo 90; rm -Rf /tmp/etc ; echo 100) | dialog --gauge 'Aguarde... Copiando Arquivos' 8 70 0

read
clear

Baixe este script em:
http://www.reconstrucao.org/palestra/shell/dialog/gauge.sh
Baixe todos os scripts de exemplos dialog:
 http://www.reconstrucao.org/palestra/shell/dialog/dialog.tar.gz 

Shell Script com Dialog - Usando o CHECKLIST (dialog --checklist)

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 checklist, que exibe uma caixa de múltipla escolha para o usuário escolher um ou mais ítens. Este valor pode ser capturado pelo programador.

Você pode testar direto na linha de comando, ou usar um script.

Faça você mesmo:

# dialog --checklist "Escolha Sua Opcao"  0 0 0 Item1 'Jogar' on Item2 'Dormir' off Item3 'Trabalhar' off

Veja um exemplo mais completo utilizando o script abaixo que produz as seguintes telas:






Código fonte do 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.
dialog --msgbox " Exibindo Checklist \n para o Usuario" 7 30

# Obs: A barra invertida quebra a linha esteticamente,
#      Porem nao ha quebra no comando.

dialog --checklist 'Escolha Sua Opcao' \
       0 0 0 Item1 'descricao do Item1' on \
             Item2 'Descricao do Item2' off \
             Item3 'Descricao do Item3' off \
             Item4 'Descricao do Item4' off \
             Item5 'Descricao do Item5' off \

dialog --msgbox "Capturando as escolhas do Usuario" 7 30

# Capturando as escolhas do usuario.
# Note a presenca do --stdout e do subshell $(comando)
ESCOLHA=$(dialog --stdout --checklist 'Escolha Sua Opcao' \
       0 0 0 Item1 'descricao do Item1' on \
             Item2 'Descricao do Item2' off \
             Item3 'Descricao do Item3' off \
             Item4 'Descricao do Item4' off \
             Item5 'Descricao do Item5' off)

dialog --msgbox "Os Itens Escolhidos foram:: $ESCOLHA" 7 30

clear