boas_praticas_de_programacao_shell_script
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anteriorPróxima revisãoAmbos lados da revisão seguinte | ||
boas_praticas_de_programacao_shell_script [2018/08/17 14:13] – cartola | boas_praticas_de_programacao_shell_script [2018/08/17 16:53] – /* Dicas da linguagem */ cartola | ||
---|---|---|---|
Linha 41: | Linha 41: | ||
======= Testes automatizados ======= | ======= Testes automatizados ======= | ||
+ | Existem linguagens que tem ferramentas pra facilitar isso, existe alias o [[https:// | ||
- | | + | Um script muitas vezes é pequeno e, nesses casos, a criação de testes talvez não se justifique. Se começar a crescer, se for complexo, se for ser alterado de tempos em tempos, então pode se considerar essa criação dos testes, que garantirá o funcionamento esperado de cada parte do código, evitando que uma eventual alteração faça com que se crie um bug. Essa é a moral da coisa. |
- | * | + | |
+ | **Refatoração para viabilizar | ||
+ | **\\ | ||
+ | * Funções que recebem e retornam facilitam muito os testes | ||
+ | * Modularizar em outros scripts também pode facilitar, se eles também receberem e retornarem algo | ||
+ | |||
+ | **script | ||
+ | **\\ * Para criar um script externo que teste o principal, o ideal é que o programa principal só seja executado se não for um teste. Ao colocarmos o código separado em funções podemos testar se o principal deve rodar ou não. Para carregar as funções do script principal no script testador usamos a sintaxe: | ||
+ | < | ||
+ | e as funções estarão disponíveis dentro do testador, não sendo executada nenhuma. Ao executar o principal diretamente, | ||
+ | ## PROGRAMA PRINCIPAL | ||
+ | if [ " | ||
+ | echo " | ||
+ | fi | ||
+ | Os resultados da execução de cada uma das formas é o previsto: | ||
+ | $ source principal.sh | ||
+ | $ . principal.sh | ||
+ | $ ./ | ||
+ | programa principal | ||
+ | $ bash principal.sh | ||
+ | programa principal | ||
+ | Notas: | ||
+ | * O comando " | ||
+ | * Mesmo chamando outro shell com " | ||
+ | De resto, portanto, é colocar em funções o que é necessário testar no código e chamar elas dentro da parte principal do programa (que não será testada) e dentro do script testador, que promoverá, idealmente, uma série de testes, verificando o comportamento de cada função para N situações diversas, de modo a garantir a estabilidade do código. | ||
Linha 67: | Linha 92: | ||
read filesystem total used free perc name < <(df . | tail -1) | read filesystem total used free perc name < <(df . | tail -1) | ||
+ | |||
+ | ===== Lendo arquivo linha a linha e atribuindo colunas a variáveis ===== | ||
+ | |||
+ | echo " | ||
+ | echo " | ||
+ | df | grep -v " | ||
+ | echo " | ||
+ | echo " | ||
+ | done | ||
+ | Resultado da execução: | ||
+ | $ ./ | ||
+ | Sistema | ||
+ | disponivel | ||
+ | / | ||
+ | 2014976 | ||
+ | devtmpfs | ||
+ | 8121660 | ||
+ | tmpfs | ||
+ | 8133648 |
boas_praticas_de_programacao_shell_script.txt · Última modificação: 2022/03/25 09:09 por cartola