shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Formatação nos scripts


From: Raul Libório
Subject: Re: [shell-script] Formatação nos scripts
Date: Fri, 1 Aug 2008 00:34:30 -0300

Bom, entao vou mostrar com um script q fiz pra simular o cadastro de um
usuário, usando o Zenity (interface gráfica). Ficou bacaninha.
Ele me trás até uma dúvida (acho q depois puxo um tópico pra isso), tem como
eu colocar o campo de senha pra nao recusar senhas com caracteres? Ele só
confirma com números.

Ah, onde tem 'filename=algo.txt', é um arquivo de texto que ele irá buscar e
exibir dentro da janela.

#!/bin/bash
# Script para cadastro de usuários utilizando interface grafica
# Ambiente GNOME
# 13/03/08 - Raul Liborio
#________________________
#Procedimentos:
#    recebe_dados, verifica_senha,
#    imprime_em_arquivo, cria usuário
#________________________

#Variaveis Globais
usuario=0
pass=0
#- - - - -

inicio(){
  zenity --notification
  zenity --text-info \
  --width=350 --height=350 \
  --filename=texto-cadastro.txt \
  --title="Confirmação de usuário"
}

#________________________

# - Capture os dados pessoais
dados_pessoais(){
  nome=`zenity --entry --text="Entre com o seu nome" \
  --entry-text="nome"`

  sobrenome=`zenity --entry --text="Sobrenome" \
  --entry-text="sobrenome"`

  nascimento=`zenity --calendar \
  --title="confirme a data de nascimento"`
  usuario="$nome"_"$sobrenome"
}
#________________________

#  - Capture e verifique a senha
senhas(){

  until [ $senha1 -ne $senha2 ] then
    do
    senha1=`zenity --entry --hide-text \
    --text="Digite sua senha"` 2> /dev/null

    senha2=`zenity --entry --hide-text \
    --text="Confirme"` 2> /dev/null

    if [ $senha1 -ne $senha2 ]; then
        zenity --error \
        --text="Senha incorreta\nRepita por favor" 2> /dev/null

    else

  pass="$senha1"
       zenity --question --text="\
       Nome: $usuario\n\
       Nascimento: $nascimento\n\
       Senha: $pass \n\
       Os dados estão corretos?" && ok
       dados_pessoais
    fi
    done
}
#__________________

# - Mostre uma mensagem de confirmacao
ok(){
  zenity --text-info \
  --filename=msg.txt \
  --width=300 --height=220 \
  --title="Usuário confirmado!"
  echo ""login: "$usuario", senha: "$pass" > $usuario.txt
  exit 0
}
#__________________

# - Principal
  clear
  inicio
  dados_pessoais
  senhas
  ok
--

Raul Libório
UniJorge Redes - www.redesfja.com
rauhmarutsªhotmailºcom
Linux user#4444581
[(55) 71] 9246 9828
/ `
/
.------.
|"""""""|
|Linux |
|inside|
`--------'
Dúvidas: enviar para /dev/null .
Respondei assim que possível."
_____________________________
"Nada se cria, tudo se compila."


2008/7/31 Marlon Vagner Reck <address@hidden>

>    Raul
>
> Tranquilo sem problema.
> Cada um tem um gosto, eu costumo fazer dessa forma q te falei, se vc tem
> outra
> e deixa o script mais legível e organizado compartilhe conosco, mande
> algumas
> linhas de exemplo. E outra fiquei curioso com o uso dos '_' e '-'.
> Também apenas falei a minha opinião.
>
> Marlon
>
> Em Thursday 31 July 2008 01:26:58 Raul Libório escreveu:
>
> > Marlon meu brother, primeiramente, nao estou te corrigindo!
> >
> > Mas sendo franco, eu não gosto muito dessa formatação, tipo, fazer linhas
> > com lasanha (ou a famosa cerquilha, fugueirinha, cruz-credo, '#' , e
> outros
> > ), nao faço isso por questão de estética mesmo.
> >
> > Geralmente costumo fazer linhas com linhas, usando ou '_' ou entao '-'. O
> > script fica mais limpo visualmente.
> > Outra coisa que costumo fazer tb é colocar apenas as informações que
> forem
> > necesssária a nele. Sempre sem usar sinais diacríticos, definindo
> variáveis
> > com letras maiúsculas e comandos em minúsculas.
> >
> > Ah, quando digo que é estética, não ligue, é que sou viciado no Gimp e
> sabe
> > como é... tudo tem de sair realmente bonito e combinando :)
> >
> > Eu nao quero ser chato e talz, mas é só minha humilde opnião :)
> >
> > abraços,
> > --
> >
> > Raul Libório
> > UniJorge Redes - www.redesfja.com
> > rauhmarutsªhotmailºcom
> > Linux user#4444581
> > [(55) 71] 9246 9828
> > / `
> > /
> > .------.
> >
> > |"""""""|
> > |Linux |
> > |inside|
> >
> > `--------'
> > Dúvidas: enviar para /dev/null .
> > Respondei assim que possível."
> > _____________________________
> > "Nada se cria, tudo se compila."
> >
> >
> > 2008/7/30 Marlon Vagner Reck <address@hidden<marlon_mca%40yahoo.com.br>
> >
> >
> > > Amigo
> > >
> > > Acho que a melhor forma seria vc escrever eles de forma q vc entenda
> eles
> > > mesmo depois de 20 anos ou mais.
> > > Eles precisam ser bonitos aos olhos, eficazes e fáceis de se dar
> > > manutenção,
> > > tipo cabeçario explicando o q o programa faz e exemplos de como usa-lo,
> > > comentários diretos e simples nas linhas onde vc acha necessário.
> > > Abaixo segue alguns pedaços de um script meu.
> > >
> > > Cabeçario:
> > >
> > > #!/bin/bash
> > >
> > > #######################################################
> > > # sargIndex
> > > #
> > > #Um programa para atualizar as index do Sarg através dos arquivos
> > > compactados
> > > #pelo tar.gz
> > > #
> > > #Exemplo de uso: ./sargIndex logSarg_170708.tar.gz
> > > #
> > > #As únicas configurações nescessárias são os locais dos arquivos:
> > > #DIR_SALVO= local onde foi salvo o arquivo de log compactado.
> > > #DIR_DIARIO= local onde estão os arquivos dos logs diários do sarg.
> > > #DIR_SEMANA= local onde estão os arquivos dos logs semanais do sarg.
> > > #
> > > #Criado em: 18/07/2008
> > > #
> > > #Atualizado por Marlon: 21/07/2008 (Corrigido o erro ao tentar mover
> mais
> > > de
> > > # uma pasta).
> > > #Atualizado por Marlon: 22/07/2008 (Corrigido o erro da falta do
> arquivo
> > > index).
> > > #
> > > #Autor: Marlon Reck
> > > #mail: address@hidden <marlonreck%40hotmail.com> <marlonreck%
> 40hotmail.com>
> > > #Licença: GPL
> > > ########################################################
> > >
> > > Linhas com comentários:
> > >
> > > #Váriaveis globais
> > > ARQUIVO="$1"
> > > DIR_SALVO=/mnt/hd/log/
> > > DIR_DIARIO=/mnt/hd/wwwroot/diario/
> > > DIR_SEMANA=/mnt/hd/wwwroot/semana/
> > > #Fim das váriaveis globais
> > >
> > > ....................
> > >
> > > #move os diretórios data(17jul2008-17jul2008) para o diretório da
> > > #váriavel DIR_DIARIO, o xargs aqui se compara ao find -exec.
> > > ls |egrep [-*]|xargs -I {} mv -f {} "$DIR_DIARIO"
> > >
> > > .......................
> > >
> > > Espero q estas linhas acima tenham ajudado e desculpem se o e-mail
> ficou
> > > grande.
> > > Ps. o script completo vai ficar aqui um mês :
> > > http://pastebin.com/m604ff8fa
> > >
> > > Marlon V. Reck
> > >
> > > Em Wednesday 30 July 2008 15:15:50 Tiago Barcellos Peczenyj escreveu:
> > > > Sempre escreva os seus scripts como se quem fosse usar e dar
> > > > manutenção no futuro fosse um psicopata que sabe aonde vc mora.
> > > >
> > > > changelog? dependendo da complexidade é util.
> > > > comentários? quando esclarecem são otimos
> > > > identação: obrigatorio!
> > > >
> > > > 2008/7/30 Raul Libório <address@hidden <rauhmaru%40gmail.com><rauhmaru%
> 40gmail.com>>:
> > > > > Cara, pelo que sei, uma boa prática é sempre seguir as identações,
> > > > > colocar um changelog e dizer pra que serve o script no cabeçalho.
> > > > > Ai vc pode ir comentando o script com um padrão que você costuma
> > > > > utilizar, tipo, antes de um comando extenso, vc comentar o que ele
> > > > > vai fazer.... Vá simplifiquando a leitura de quem não conhece a
> > > > > função do
> > >
> > > seu
> > >
> > > > > script.
> > > > >
> > > > > abs!""
> > > > >
> > > > > --
> > > > >
> > > > > Raul Libório
> > > > > UniJorge Redes - www.redesfja.com
> > > > > rauhmarutsªhotmailºcom
> > > > > Linux user#4444581
> > > > > [(55) 71] 9246 9828
> > > > > / `
> > > > > /
> > > > > .------.
> > > > >
> > > > > |"""""""|
> > > > > |Linux |
> > > > > |inside|
> > > > >
> > > > > `--------'
> > > > > Dúvidas: enviar para /dev/null .
> > > > > Respondei assim que possível."
> > > > > _____________________________
> > > > > "Nada se cria, tudo se compila."
> > > > >
> > > > > 2008/7/30 Alicino De Moura Filho
> > > > > <address@hidden <alicino%40ymail.com><alicino%40ymail.com>
> > > > >
> > > > >> Colegas,
> > > > >>
> > > > >> Alguém poderia indicar um site ou algo que ajude a explicitar
> sobre
> > > > >> a formatação nos scripts que criamos?
> > > > >>
> > > > >> Digo isso, pq as vezes visualmente não fica legal e fico me
> > >
> > > perguntando
> > >
> > > > >> se existe uma "regra", mesmo que informal para isso.
> > > > >>
> > > > >> Abs!
> > > > >>
> > > > >> Alicino de Moura Filho
> > > > >> address@hidden <alicino%40ymail.com> <alicino%40ymail.com>
> <alicino%40ymail.com>
> > > > >> http://www.alicino.eng.br/
> > > > >> Campinas-SP
> > > > >>
> > > > >> --+ Mens In Corpore Tantum Molem Regit +--
> > > > >>
> > > > >> [As partes desta mensagem que não continham texto foram removidas]
> > > > >
> > > > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > > --
> > > Desde já agradeço.
> > > Marlon V. Reck
> >
> > [As partes desta mensagem que não continham texto foram removidas]
>
> --
> Desde já agradeço.
> Marlon V. Reck
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]