Programação para ambiente de redes – Aula 5 – Dialog

Olá Alunos,
Hoje estudaremos um comando adicional que acrescentará aos seus conhecimentos bash script.
Os exemplo aqui colocados foram retirados da internet do site http://www.vivaolinux.com.br, sendo utilizados exclusivamente para ensino.
Recomendo ao acesso ao site, posteriormente espero que possam colaborar acrescentando os seus scripts.
Bom estudo.

Dialog.

É possível ter um programa amigável com o modo texto, para isso é necessário um comando adicional chamado dialog.
Para ver se você tem este programa, vá no shell e digite:

$ dialog

Caso a saída seja algo diferente de “command not found”, significa que existe o comando (vá dizer que não sabe?).
Caso contrário, procure nos CDs de instalação de sua distribuição ou em sites de repositórios de pacotes pelo dialog, é faça a instalação do pacote.

Exemplo de uma caixa de texto.
dialog –backtitle “Program 1.0” –msgbox “Bem vindo nao meu primeiro programa!!!” 0 0

Exemplo de atribuição de variável.
nome=$( dialog –stdout –backtitle “Program 1.0” –inputbox “Digite seu nome:” 0 0 )
echo $nome

Infobox e Msgbox
Infobox e msgbox apenas mostram uma mensagem de forma mais amigável. Experimente.
Entre no shell e digite:

$ dialog –msgbox ‘Isto é uma msg. Clique em OK pra sair’ -1 -1

Agora teste este aqui:

$ dialog –title ‘Mensagem’ –backtitle ‘Uma msg’ –ok-label ‘Já li’ –msgbox ‘Isto é uma msg.’ -1 -1

A janela agora será bem diferente da outra. As diferenças são:
* O título da janela não é vazio;
* Terá um título de fundo;
* O botão de OK tem um texto diferente.

Verifique o -1 -1 no final.
Ele indica para redimensionar a janela para caber todo o texto e todos os botões.
Caso seja especificado outros valores, deverá antes medir o tamanho do texto e arranjar um tamanho conveniente.

Infobox é a mesma coisa que msgbox, com a diferença que não tem o botão de OK.

Verifique este exemplo, e veja o que ocorre em cada linha.

#!/bin/sh

#———Programa WNSOBJECT———–#

dialog –title “DATA DIALOG” –msgbox ” Deseja saber a Data ?” 6 40

#——Segundo Passo——–#

dialog –title “DATA DIALOG” –infobox “nAguarde 5 Segundos….” 6 40
sleep 5

#——-Terceiro Passo——#

dialog –title “Calendario DATA DIALOG” –calendar “” 0 0
sleep 2

#——–Quarto Passo——-#

dialog –title “Finalizar Programa” –msgbox “n Finalizando Programa …………. ” 6 40

clear && exit

#——–Final————–#

YesNo
O parâmetro –yesno é usado para fazer o usuário escolher entre “Sim” e “Não”.

Tente:

$ dialog –yesno “Você quer apagar ~/xyz?” -1 -1

Agora para saber o que o usuário escolheu, o programa retornará 0 caso “sim” e 1 caso “não“.
Para ver o retorno do programa, você pode usar a variável $?.
Teste o script abaixo:

#!/bin/sh
# INICIO
Remove=”$1″
dialog –backtitle “$0” –title “Remover…” –yesno “Deseja remover o arquivo “$Remove”?” -1 -1
ErrorCode=”$?”
test $ErrorCode = 0 && rm $Remove || echo “Cancelado.”
# FIM

Chame-o de “removedor”, digite “chmod u+x rem” e, para rodar, digite:

$ ./removedor NomeDoArquivo

Com base nos exemplos apresentados, implemente uma agenda em shell script utilizando dialog.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s