Mostrando postagens com marcador Shell. Mostrar todas as postagens
Mostrando postagens com marcador Shell. Mostrar todas as postagens

quarta-feira, 3 de junho de 2015

15 anos de Funções ZZ

15 anos… É muita coisa.
Imagino que deva ter usuários das Funções ZZ que são mais novos do que isso :)
Quando penso em softwares antigos, como as ferramentas originais do Unix, sempre imagino seus criadores como véios barbudos de óculos. Agora aqui estou eu, um jovem* gafanhoto que todo dia aprende algo novo, que nem barba tem direito (só uns fiapos), olhando meu próprio software completar 15 anos.
* Se é que alguém com 37 anos ainda pode ser considerado jovem…
No post comemorando os 13 anos, já ponderei sobre o tempo que passou e o que me faz continuar trabalhando neste software, após tantos anos. Então dessa vez vamos direto ao que interessa.

A versão nova

Para comemorar este aniversário, eu e o Itamar (meu amigo e co-autor das funções) decidimos preparar uma versão nova das funções. A última foi em 2013, nacomemoração de 13 anos.
Trabalhamos pesado nos últimos meses, usando nossas raras horas vagas de emprego/família/obrigações para discutir problemas, arrumar bugs, criar funções novas e melhorar as já existentes. O GitHub atesta a loucura que é esse desenvolvimento:
O resultado é a versão nova 15.5 (downloadanúnciochangelog), que traz um número recorde de 49 funções novas, deixando nosso querido software com um total de 178 funções!
Bônus: Sabe quem enviou uma função nova, para participar das comemorações? OThobias, antigo co-autor das funções que há anos não “aparecia” por estas bandas. Massa!

Vem participar do projeto!

Você é programador(a), ou curte a linha de comando? Te convido a juntar-se a nós lá no GitHub. Pode entrar no meio das conversas lá no issues, reportar problemas ou criar sua própria Função ZZ.
Mesmo que não seja programador(a), você sabia que o site das funções também é um projeto lá no GitHub, e é gerado automaticamente a cada commit? Assim, caso você encontre algum erro no site, ou queria contribuir com conteúdo novo, é fácil. No final de cada página do site há um link direto para o seu arquivo original, pronto para ser melhorado, por você!
Toda ajuda é muito bem-vinda, e necessária para que o projeto continue ativo por muitos anos mais. Muito obrigado a todos os contribuidores atuais e que venham os novos!

Criado por Aurelio Jargas, este é um software livre 100% nacional e maduro, que já completou 15 anos de existência. É o resultado do trabalho voluntário e não remunerado de vários brasileiros que colaboram em suas horas vagas, por prazer. Feito com muito carinho, bash, sed, awk, dedicação, expressões regulares, grep ...

Quer conhecer mais... ??? - http://funcoeszz.net/ 

sexta-feira, 7 de fevereiro de 2014

Shell Script com Dialog - Usando o YESNO (dialog --yesno)

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 para questionar o usuário. O usuário poderá escolher entre SIM e NÃO. É possível capturar a escolha do usuário através do script.

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

Faça você mesmo.

dialog --yesno  "Voce e feliz?" 0 0

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













#!/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 "Questionando o Usuario..." 6 30

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


dialog --yesno  "Voce e feliz?" 0 0

dialog --msgbox "Descobrindo que botao \no usuario pressionou...." 6 30
# Primeira maneira de saber qual botao o usuario pressionou.

dialog --yesno  "Voce e Bonito?" 0 0 \
                && dialog --msgbox "O Usuario Pressionou YES" 6 30 \
                ||dialog --msgbox "O Usuario Pressionou NO" 6 30

dialog --msgbox "Pressiona o outro Botao agora \n So pra testar :)" 6 40
# Primeira maneira de saber qual botao o usuario pressionou.

dialog --yesno  "Voce e Feio?" 0 0 \
                && dialog --msgbox "O Usuario Pressionou YES" 6 30 \
                ||dialog --msgbox "O Usuario Pressionou NO" 6 30

# Segunda maneira de saber que botao o usuario pressionou.
# Atraves do retorno da variavel $?
# Se o retorno for 0 - O Usuario pressionou YES.
# Se o retorno for 1 - O Usuario pressionou NO.

dialog --msgbox "Descobrindo o Botao que o usuario pressionou \n
 Atraves do Retorno da Variavel \$? \n
 Se O usuario pressionou YES \$?=0 \n
 Se O usuario pressionou NO  \$?=1" 8 50
# Primeira maneira de saber qual botao o usuario pressionou.

dialog --yesno  "Voce e Simpatico?" 0 0
if [ "$?" = "0" ]
then
    dialog --msgbox "O Usuario Pressionou YES" 6 30
else
    dialog --msgbox "O Usuario Pressionou NO" 6 30
fi

clear

Shell Script com Dialog - Usando o TIMEBOX (dialog --timebox)

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 ou capturar uma hora através da caixa TIMEBOX.

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

Faça você mesmo.

dialog --timebox  "Hora Atual" 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 campo de Hora \n (Hora atual do Sistema)" 7 30

dialog --timebox  "Hora Atual" 0 0

dialog --msgbox " Exibindo uma hora Especifica " 7 35

dialog --timebox "Meio Dia" 0 0 12 00 00

dialog --msgbox "Capturando a Hora que \no usuario selecionou " 7 35

HORA=$(dialog --stdout --timebox  "Hora Atual" 0 0)

dialog --msgbox " A Hora Escolhida foi: \n $HORA  " 7 35

clear



Shell Script com Dialog - Usando o TEXTBOX (dialog --textbox)

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 para o usuário. 

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

Faça você mesmo.

dialog --textbox /etc/services 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 para o usuario" 0 0

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

clear

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

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:

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: