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 15:22] – /* Testes automatizados */ cartola | boas_praticas_de_programacao_shell_script [2019/07/31 11:24] – cartola | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | Antes veja [[ti_publica: | ||
+ | |||
Esse é um guia pessoal de referência. Na maioria dos casos a dica se baseia no **Shell Bash**, mas muitas são genéricas. Anoto aqui dicas que considero úteis, de modo que possa acessá-las de qualquer lugar, aproveitando para compartilhar com quem possa ter interesse. | Esse é um guia pessoal de referência. Na maioria dos casos a dica se baseia no **Shell Bash**, mas muitas são genéricas. Anoto aqui dicas que considero úteis, de modo que possa acessá-las de qualquer lugar, aproveitando para compartilhar com quem possa ter interesse. | ||
Linha 41: | Linha 43: | ||
======= Testes automatizados ======= | ======= Testes automatizados ======= | ||
- | Existem linguagens que tem ferramentas pra facilitar isso, mas trabalhando com o conceito, é possível fazer pra qualquer linguagem. Como Bash trabalha com funções, o melhor é refatorar o código de modo que funções recebam e retornem valores ou que executem coisas verificáveis, | + | 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. | 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. | ||
Linha 91: | Linha 93: | ||
Exemplo: definindo múltiplas variáveis | Exemplo: definindo múltiplas variáveis | ||
read filesystem total used free perc name < <(df . | tail -1) | read filesystem total used free perc name < <(df . | tail -1) | ||
+ | |||
+ | |||
+ | ===== Lendo 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 | ||
+ | |||
+ | * opção de delimitador | ||
+ | * como jogar linha inteira numa variável | ||
+ | * readarray | ||
boas_praticas_de_programacao_shell_script.txt · Última modificação: 2022/03/25 09:09 por cartola