10 dicas úteis para escrever scripts Bash eficazes no Linux
Shell script é a forma mais fácil de programação que você pode aprender/fazer no Linux. Mais ainda, é uma habilidade necessária para administração de sistemas para automatizar tarefas, desenvolvendo novos utilitários/ferramentas simples, apenas para mencionar alguns.
Neste artigo, compartilharemos 10 dicas úteis e práticas para escrever scripts bash eficazes e confiáveis e incluem:
1. Sempre use comentários em scripts
Esta é uma prática recomendada que não se aplica apenas ao shell script, mas a todos os outros tipos de programação. Escrever comentários em um script ajuda você ou outra pessoa que está analisando seu script a entender o que as diferentes partes do script fazem.
Para começar, os comentários são definidos usando o sinal #
.
#TecMint is the best site for all kind of Linux articles
2. Faça um script sair quando falhar
Às vezes, o bash pode continuar a executar um script mesmo quando um determinado comando falha, afetando assim o resto do script (pode eventualmente resultar em erros lógicos). Use a linha abaixo para sair de um script quando um comando falhar:
#let script exit if a command fails
set -o errexit
OR
set -e
3. Faça uma saída de script quando o Bash usar variável não declarada
O Bash também pode tentar usar um script não declarado que pode causar um erro lógico. Portanto, use a seguinte linha para instruir o bash a sair de um script quando ele tentar usar uma variável não declarada:
#let script exit if an unsed variable is used
set -o nounset
OR
set -u
4. Use aspas duplas para referenciar variáveis
Usar aspas duplas durante a referência (usando um valor de uma variável) ajuda a evitar a divisão de palavras (em relação a espaços em branco) e globbing desnecessário (reconhecimento e expansão de curingas).
Confira o exemplo abaixo:
#!/bin/bash
#let script exit if a command fails
set -o errexit
#let script exit if an unsed variable is used
set -o nounset
echo "Names without double quotes"
echo
names="Tecmint FOSSMint Linusay"
for name in $names; do
echo "$name"
done
echo
echo "Names with double quotes"
echo
for name in "$names"; do
echo "$name"
done
exit 0
Salve o arquivo, saia e execute-o da seguinte maneira:
./names.sh
5. Use funções em Scripts
Exceto scripts muito pequenos (com poucas linhas de código), lembre-se sempre de usar funções para modularizar seu código e tornar os scripts mais legíveis e reutilizáveis.
A sintaxe para escrever funções é a seguinte:
function check_root(){
command1;
command2;
}
OR
check_root(){
command1;
command2;
}
Para código de linha única, use caracteres de terminação após cada comando como este:
check_root(){ command1; command2; }
6. Use=em vez de == para comparações de strings
Observe que ==
é sinônimo de =
, portanto, use apenas um único =
para comparações de strings, por exemplo:
value1=”linux-console.net”
value2=”fossmint.com”
if [ "$value1" = "$value2" ]
7. Use $ (comando) em vez do ‘comando’ legado para substituição
A substituição de comando substitui um comando por sua saída. Use $ (command)
em vez de crases `command`
para substituição de comando.
Isso é recomendado até mesmo pela ferramenta shellcheck (mostra avisos e sugestões para scripts de shell). Por exemplo:
user=`echo “$UID”`
user=$(echo “$UID”)
8. Use somente leitura para declarar variáveis estáticas
Uma variável estática não muda; seu valor não pode ser alterado depois de definido em um script:
readonly passwd_file=”/etc/passwd”
readonly group_file=”/etc/group”
9. Use nomes em letras maiúsculas para variáveis de AMBIENTE e letras minúsculas para variáveis personalizadas
Todas as variáveis de ambiente bash são nomeadas com letras maiúsculas, portanto, use letras minúsculas para nomear suas variáveis personalizadas para evitar conflitos de nomes de variáveis:
#define custom variables using lowercase and use uppercase for env variables
nikto_file=”$HOME/Downloads/nikto-master/program/nikto.pl”
perl “$nikto_file” -h “$1”
10. Sempre execute depuração para scripts longos
Se você estiver escrevendo scripts bash com milhares de linhas de código, encontrar erros pode se tornar um pesadelo. Para corrigir as coisas facilmente antes de executar um script, execute algumas depurações. Domine esta dica lendo os guias fornecidos abaixo:
- Como ativar o modo de depuração de Shell Script no Linux
- Como executar o modo de depuração de verificação de sintaxe em scripts Shell
- Como rastrear a execução de comandos em Shell Script com Shell Tracing
Isso é tudo! Você tem alguma outra prática recomendada de script bash para compartilhar? Se sim, use o formulário de comentários abaixo para fazer isso.