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.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *