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

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

Re: Formatação nos scripts


From: marlon_mca
Subject: Re: Formatação nos scripts
Date: Fri, 01 Aug 2008 11:14:34 -0000
User-agent: eGroups-EW/0.82

Camarada Raul

  É interressante sua formatação de script acho q vou mesclar as duas
para ver como ele vai ficar   :).
  Só tem uma coisa q pra mim incomoda pelo fato de me confundir ao ler
os scripts que é essas quebras de linhas "\" não sei o pq mas isso me
confunde, demoro mais pra entender os comandos quando em deparo com
isto, mas isso é comigo e não to dissendo q não se deva usar mas que
eu preciso melhorar isso em mim.

PS. Quanto a tua dúvida, testei aqui e ele não comparou as senhas,
posso por qualquer coisa na senha e na confirmação (coisas diferentes
em cada campo) que ele passa normal sem erro. Pq isso?
Outra prefiro isso "if [ XXXX != xxx ]" ao "if [ xxx -ne xxx ]", minha
opinião umilde :)

Marlon

--- Em address@hidden, "Raul Libório" <rauhmaru@...>
escreveu
>
> 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 <marlon_mca@...>
> 
> >    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
<marlon_mca@...<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: marlonreck@... <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 <rauhmaru@...
<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
> > > > > > <alicino@... <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
> > > > > >> alicino@... <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]