sexta-feira, 7 de fevereiro de 2014

Shell Script com Dialog - Usando o TAILBOX (dialog --tailbox) para exibir um arquivo em tempo real.

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 exibir um arquivo em tempo real para o usuário. Este exemplo é muito útil para exibir logs, por exemplo.

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

Faça você mesmo.

# dialog --tailbox /var/log/auth.log 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 um arquivo tem tempo real" 0 0

dialog --tailbox /var/log/auth.log 0 0

clear

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

2 comentários:

  1. E tem como usar um grep nesse log ou um awk?

    por exemplo:
    dialog --tailbox /var/log/maillog | grep usuario@dominio.com.br 0 0


    ??

    ResponderExcluir
    Respostas
    1. Oi Caio,

      Creio que você deve tratar o arquivo antes e ler no dialog...

      tipo:
      tail -f /var/log/maillog | grep usuario@dominio.com.br > /var/dominio.com.br
      e ler ele no dialog
      dialog --tailbox /var/dominio.com.br 0 0

      Excluir