Carregando ...
Desculpe, ocorreu um erro ao carregar o conteúdo.
 

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

Expandir mensagens
  • Thiago Braga Santana
    Eu recomendo o livro Shell Script Profissional do autor Aurélio Marinho Jargas. Antes de ler esse livro, desenvolvia scripts sem tomar qualquer cuidado com
    Mensagem 1 de 17 , 31 de jul de 2008
      Eu recomendo o livro 'Shell Script Profissional' do autor Aurélio Marinho
      Jargas.


      Antes de ler esse livro, desenvolvia scripts sem tomar qualquer cuidado com
      o fonte, o meu objetivo era apenas que ele "fizesse o que era pra fazer...".
      Hoje desenvolvo verdadeiros programas, que qualquer pessoa com o devido
      conhecimento básico da linguagem, seria capaz de compreender o conteúdo e
      dar a devida manutenção ao mesmo.

      Lendo esse livro, você percebe a sutil diferença entre scripts e programas
      feitos com linguagem Shell Script.


      Espero ter ajudado de alguma forma.


      Atenciosamente.

      Thiago Santana


      [As partes desta mensagem que não continham texto foram removidas]
    • Marlon Vagner Reck
      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
      Mensagem 2 de 17 , 31 de jul de 2008
        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@...>
        >
        > > 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>
        > > #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>>:
        > > > > 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>
        > > > >
        > > > >> 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>
        > > > >> 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
      • Raul Libório
        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
        Mensagem 3 de 17 , 31 de jul de 2008
          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]
        • marlon_mca
          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
          Mensagem 4 de 17 , 1 de ago de 2008
            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 shell-script@..., "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]
            >
          • marlon_mca
            Camarada Raul Só pra responder meus PSs abaixo :D, mudei o teste if de if [ xxx -ne xxx ] para if [ XXXX != xxx ] e agora ele ta funcionado certinho,
            Mensagem 5 de 17 , 1 de ago de 2008
              Camarada Raul

              Só pra responder meus PSs abaixo :D, mudei o teste if de "if [ xxx -ne
              xxx ]" para "if [ XXXX != xxx ]" e agora ele ta funcionado certinho,
              testa todas as senhas e aceita qualquer combinação sem problemas.

              PS. Desculpa mas responder as coisas sem testar só olhando e pensando
              nas mudanças do código da nisso ( apressadinho) :D


              Marlon






              --- Em shell-script@..., "marlon_mca" <marlon_mca@...>
              escreveu
              >
              >
              > 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 shell-script@..., "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]
              > >
              >
            • Raul Libório
              me corrijam estar errado, mas -ne (not equals - nao for igual ) não tem o mesmo significado de != ? Acho que deveria funcionar, né não? -- Raul Libório
              Mensagem 6 de 17 , 1 de ago de 2008
                me corrijam estar errado, mas '-ne' (not equals - nao for igual ) não tem o
                mesmo significado de '!=' ?
                Acho que deveria funcionar, né não?
                --

                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/8/1 marlon_mca <marlon_mca@...>

                >
                > Camarada Raul
                >
                > Só pra responder meus PSs abaixo :D, mudei o teste if de "if [ xxx -ne
                > xxx ]" para "if [ XXXX != xxx ]" e agora ele ta funcionado certinho,
                > testa todas as senhas e aceita qualquer combinação sem problemas.
                >
                > PS. Desculpa mas responder as coisas sem testar só olhando e pensando
                > nas mudanças do código da nisso ( apressadinho) :D
                >
                > Marlon
                >
                > --- Em shell-script@... <shell-script%40yahoogrupos.com.br>,
                > "marlon_mca" <marlon_mca@...>
                > escreveu
                >
                > >
                > >
                > > 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 shell-script@...<shell-script%40yahoogrupos.com.br>,
                > "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]
                > > >
                > >
                >
                >
                >


                [As partes desta mensagem que não continham texto foram removidas]
              • Thiago Braga Santana
                Olá para todos, bom dia. Eu já tive essa dúvida no passado. Funciona da seguinte forma: -ne funciona para comparações entre valores inteiros. != funciona
                Mensagem 7 de 17 , 1 de ago de 2008
                  Olá para todos, bom dia.

                  Eu já tive essa dúvida no passado.

                  Funciona da seguinte forma:

                  -ne funciona para comparações entre valores inteiros.

                  != funciona para comparações entre strings.


                  man informações 'man test'.


                  Atenciosamente.


                  Thiago Santana


                  [As partes desta mensagem que não continham texto foram removidas]
                • Cristiano Amaral
                  -ne compara números != compara strings
                  Mensagem 8 de 17 , 1 de ago de 2008
                    -ne compara números
                    != compara strings
                  • Raul Libório
                    Pow, vcs nem imaginam o quanto de problemas acabaram de tirar do meu futuro Scriptal ! ... Valeu!! -- Raul Libório UniJorge Redes - www.redesfja.com
                    Mensagem 9 de 17 , 1 de ago de 2008
                      Pow, vcs nem imaginam o quanto de problemas acabaram de tirar do meu futuro
                      Scriptal !
                      :D
                      Valeu!!
                      --

                      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/8/1 Cristiano Amaral <cristianoeinar@...>

                      > -ne compara números
                      > != compara strings
                      >
                      >


                      [As partes desta mensagem que não continham texto foram removidas]
                    Sua mensagem foi enviada com êxito e será entregue aos destinatários em breve.