[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]
- Formatação nos scripts, Alicino De Moura Filho, 2008/07/30
- Re: [shell-script] Formatação nos scripts, Raul Libório, 2008/07/30
- Re: [shell-script] Formatação nos scripts, Tiago Barcellos Peczenyj, 2008/07/30
- Re: [shell-script] Formatação nos scripts, Raul Libório, 2008/07/30
- Re: [shell-script] Formatação nos scripts, Marlon Vagner Reck, 2008/07/30
- Re: [shell-script] Formatação nos scripts, Raul Libório, 2008/07/31
- Re: [shell-script] Formatação nos scripts, Thiago Braga Santana, 2008/07/31
- Re: [shell-script] Formatação nos scripts, Marlon Vagner Reck, 2008/07/31
- Re: [shell-script] Formatação nos scripts,
Raul Libório <=
Re: [shell-script] Formatação nos scripts, Guilherme Gall, 2008/07/30