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.