Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Como fazer shell script profissional

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Dica Como fazer shell script profissional

    Administrador Linux que se preze tem que saber fazer um bom shell script, que consiga resolver desde as necessidades mais simples até as mais complexas, usando poucas ou muitas linhas de código.

    Se você ainda não é um ninja na arte de escrever shell script, está na hora de começar a aprender. Vamos lá!
    Conheça os fundamentos do desenvolvimento de software

    Talvez você nunca tenha pensado dessa forma, mas um script não deixa de ser um software. Sendo assim, é fundamental que você pelo menos conheça os fundamentos de desenvolvimento de software, principalmente algoritmos e fluxograma, que te ajudarão a conceber, planejar e desenvolver seu script.
    Conheça o trio do poder supremo

    Sem dúvidas, uma das grandes dificuldades em aprender uma nova linguagem de programação é não conhecer seus comandos e palavras-chave. Você pensa em desenvolver um software, sabe o que precisa ser feito mas não sabe qual é o código que executa a tarefa que você precisa.

    Ao escrever um shell script, existem três coisas que eu chamo de "trio do poder supremo", porque quem as conhece bem tem condição de fazer scripts para realizar até as tarefas mais complexas. São eles:

    1 - Shell: o interpretador de comandos propriamente dito (os mais usados são o bash e o sh), possui muitos comandos internos, estruturas condicionais, de repetição e variáveis que oferecem muitas possibilidades ao desenvolvedor do script;
    2 - Comandos do Linux: um bom script utiliza os comandos mais adequados para cada função, para que as tarefas sejam realizadas no menor tempo possível. Quando mais comandos você conhecer e souber para que servem, mais fácil será projetar um script para atender às suas necessidades. Menção honrosa para os três comandos mais importantes para quem quer escrever shell scripts profissionais: grep, sed e awk;
    3 - Expressões regulares: quem conhece, faz mágica. Você pode até saber fazer bons scripts, mas enquanto não souber usar expressões regulares não será um ninja.

    Seja organizado

    Um script precisa ser legível, e para isso ele deve começar organizado. Algumas dicas importantes para isso:

    1 - Crie um cabeçalho para o script escrevendo seu nome, o que faz, quem escreveu e quando foi escrito, como no exemplo abaixo.

    Código:
    #!/bin/bash
    #
    # script-de-teste.sh
    # Script para demonstrar como fazer shell script
    # organizado
    #
    # Autor: Davidson Paulo <meuemail@meudominio.com>
    # Data: 20 de Setembro de 2011
    2 - Coloque, sempre que possível, todas as variáveis no mesmo bloco de texto, bem como funções e, por último, a rotina principal, como no exemplo abaixo.

    Código:
    ## Variáveis
    Dir="/var/tmp"
    
    ## Funções
    listDir() {
      [ -d "$1" ] && ls "$1" || echo "'$1' não existe ou não é um diretório."
    }
    
    ## Rotina principal
    echo "Mostrando diretório '$1'"
    listDir "/etc"
    3 - Use padrões de nomenclatura. Você pode usar letras maiúsculas e minúsculas para nomes de variáveis e funções, mas é muito mais profissional definir um padrão para nomes das suas variáveis. Eu, particularmente, gosto de usar variáveis com iniciais maiúsculas, funções com iniciais minúsculas e ambas com iniciais de palavras consecutivas em maiúsculas, como no exemplo abaixo.

    Código:
    ## Variaveis
    VarPrimeira="1"
    VarSegunda="2"
    
    ## Funções
    funcaoPrimeira () {
      echo "1"
    }
    
    funcaoSegunda() {
      echo "2"
    }
    Contribuição do leitor: Desenvolvi o uso da prefixação de nomes de funções e variáveis com underline. Uso este artificio para que funções/procedimentos e variáveis do script sejam mais facilmente diferenciáveis dos comandos. Exemplos:
    • Evitando a sobrescrita "acidental" de variáveis: $USER e _USER='usuario';
    • _mkdir (função de usuário) e mkdir (comando no PATH do sistema


    4 - Por favor, use identação! Deixe seu código alinhado. Nada parece tão amador quando um código sem identação. Compare:

    Código:
    #!/bin/bash
    # Esse é um código sem identação nenhuma
    if [ "$USER" = "davidson" ]
    then
    echo "Válido"
    else
    echo "Inválido"
    fi
    Código:
    #!/bin/bash
    # Esse é um código com identação
    if [ "$USER" = "davidson" ] ; then
        echo "Válido"
    else
        echo "Inválido"
    fi
    Agora, me diga, qual código parece mais profissional? Pois é.

    Use arquivos

    Se seu script utiliza muitas variáveis globais e funções, você pode armazená-los em arquivos separados e deixar seu script menor. Além disso, poderá aproveitar as mesmas variáveis e funções em outros scripts.

    Tomemos como exemplo o script script-de-teste.sh, mostrado lá em cima. Podemos retirar as variáveis e gravá-las no arquivo /etc/script-de-teste e fazer o mesmo com as funções, gravando-as no arquivo /usr/lib/script-de-teste. Depois, o nosso script poderia ficar bem menor:

    Código:
    ## Variáveis
    . /etc/script-de-teste
    
    ## Funções
    . /usr/lib/script-de-teste
    
    ## Rotina principal
    echo "Mostrando diretório '$1'"
    listDir "/etc"
    Nesse exemplo, tínhamos apenas uma variável e uma função. Mas poderíamos ter números muito maiores. Eu mesmo já desenvolvi scripts que usavam dezenas delas, e separá-las em arquivos foi muito útil para deixar o script muito mais organizado, elegante e fácil de entender.

    Contribuição do leitor: Eu prefiro usar para incluir código a instrução source e não simplesmente o ponto ., acho que assim amplificamos a legibilidade imediata do código. - Paulo Ricelli Dias Lelis.

    Coloque comentários

    Um bom script é fácil de ser compreendido por outra pessoa que entenda de shell script. Para isso, os comentários são muito importantes. Você não precisa explicar cada linha de código, mas para cada bloco de instruções que executam uma tarefa específica, é bom colocar um comentário explicando o que aquele bloco faz.

    Siga essas sugestões na hora de escrever seus scripts e você se acostumará a ser elogiado pelo código que você escrever.

    Créditos: Davidson Paulo
    Similar Threads

  • Font Size
    #2
    Pho legal, mega detalhado... =]

    só pra complementar quem quizer dar uma olhada nesse poste aqui também
    Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
    Não Acha Estranha Essa Frase:
    Eu Sou Hacker e Uso Windows XP!

    Use Débian, Aprenda Slackware e Brinque Muito Com Back|Track


    Fã ->Nickguitar.dll


    Quer ajudar nossso fórum e não sabe como?
    Então click na imagem e ajude-nos com os links off

    Comment


    • Font Size
      #3
      Muito bom! Confesso que eu não fazia algumas coisas do post
      There's no place like 127.0.0.1

      Comment

      X
      Working...
      X