Como melhorar Scripts Shell com o ShellCheck no Linux

como-melhorar-scripts-shell-com-o-shellcheck-no-linux

O ShellCheck é uma ferramenta de análise estática para scripts shell, escrita em Haskell. Pode-se usá-lo para encontrar erros em seus scripts, encontrar avisos e sugestões para scripts bash e sh. Vamos ver como instalar e usar o ShellCheck em um sistema Linux ou Unix para aprimorar seus scripts, evitar erros e aumentar sua produtividade.

Os scripts são úteis para automatizar processos que você repete no prompt. A qualidade de seus script pode ser perigosa. A maioria dos novos usuários usa sites como StackOverflow, Google, Q&A sobre Linux/Unix para copiar e colar o código. Isso pode levar a muitos códigos e erros ruins. Por exemplo, o comando rm catastrófico com VAR não definido:

rm -rf "/$VAR/*"

Você pode corrigir muitos desses problemas ao escrever scripts usando uma ferramenta de verificação.

Instalação do ShellCheck no Linux

A maneira mais simples de instalar o ShellCheck localmente é através de seus gerenciadores de pacotes, como apt / apt-get / yum e outros, de acordo com sua distribuição Linux.

Debian/Ubuntu/Mint

A instalação se dá de forma bem simples, apenas usando o apt:

sudo apt install shellcheck

CentOS/RHEL/Fedora/Oracle Linux

Primeiro, caso não tenha habilitado ainda, temos que habilitar o repositório EPEL:

sudo yum -y install epel-release

Depois, use o seguinte comando para instalá-lo:

sudo yum install ShellCheck

Caso esteja efetuando a instalação no Fedora, use o seguinte comando:

sudo dnf install ShellCheck

Arch/Manjaro/Antergos

sudo pacman -S shellcheck

OpenSUSE

sudo zypper in ShellCheck

Como usar o ShellCheck no Linux

Seu uso é muito simples, basta chamar o comando junto ao seu script e verá na saída as dicas e erros encontrados por ele, veja o exemplo:

shellcheck backupme

Conclusão

No geral, é uma excelente ferramenta para melhorar e consertar seus scripts. Pode detectar muitos erros e erros comuns. Se gostou desta dica, acompanhe também nosso curso de Administração de Sistemas Linux.