Encontre erros facilmente em scripts de shell com ShellCheck

26 de janeiro de 2021

ShellCheck é uma ferramenta útil útil que avisa sobre possíveis sintaxes e erros lógicos simples, sem executar. Você também pode usá-lo com o editor de texto Atom.

Ferramenta de linha de comando ShellCheck

Como todos sabemos, o terminal é uma parte inseparável do sistema Linux. E por trás de tudo o que fazemos no terminal, está o shell - um programa que interage com o próprio sistema operacional. Cada comando que inserimos no terminal é interpretado pelo shell e então age de acordo.

Shell como uma linguagem de programação

No entanto, há mais para descobrir. Um shell UNIX não é apenas um interpretador de comandos, ele também serve como uma linguagem de programação! Shell como uma linguagem de programação fornece variáveis, construções de controle de fluxo, citações e funções.

Um arquivo contendo comandos e códigos do shell é chamado de Shell Script. Assim, você pode realizar várias tarefas complexas e automação para seu sistema usando scripts de shell.

De qualquer forma, como somos humanos, cometemos erros. Obviamente, ao escrever scripts de shell, você também cometerá erros, como erros de sintaxe, erros de digitação, padrões ruins etc. Aqui, vamos saber sobre a ferramenta - ShellCheck - que nos ajudará com isso.

ShellCheck

ShellCheck é uma ferramenta de análise estática para seus scripts de shell. É open-source e desenvolvido principalmente para scripts Bash ou sh. Agora você pode se perguntar, o que diabos é Análise estática? Bem, a análise estática é um método para depurar um programa examinando seus códigos (estáticos) em vez de executá-lo/executá-lo.

Vamos dar uma olhada em quais tipos de coisas o ShellCheck verifica:

  • Citação: Shell tem maneiras específicas de usar variáveis e strings. Se você os usou incorretamente, o ShellCheck irá avisá-lo.
  • Condicionais: Verificará se há usos incorretos de instruções de teste.
  • Comandos usados incorretamente: ShellCheck irá avisá-lo sobre comandos shell usados incorretamente.
  • Erros comuns para iniciantes: Vários erros de sintaxe que usuários iniciantes do Shell cometem, pois o Shell usa várias regras de sintaxe estritas que diferem de outras linguagens de programação. Por exemplo: você não pode colocar espaços ao redor do sinal = ao declarar variáveis. A maioria dos idiomas não se importaria, mas aqui é importante.
  • Estilo: ShellCheck fornecerá sugestões para melhorar o estilo do seu código.
  • Erros de dados e digitação: Vários problemas relacionados a dados e digitação.
  • Robustez, portabilidade e outros: ShellCheck dará sugestões para tornar seus scripts robustos, avisará sobre problemas de portabilidade com shells diferentes (bash, sh, ksh, dash etc.) e várias outras coisas.

Para documentação e várias informações úteis, não se esqueça de verificar o Projeto ShellCheck do GitHub:

ShellCheck no GitHub

Instalando ShellCheck

Para uso offline, você pode instalar o pacote ShellCheck em seu sistema. No Ubuntu, digite o seguinte comando em seu terminal:

Comandos para usar no terminal

sudo apt install shellcheck

Para outras distribuições, verifique a seção de instalação Leia-me do GitHub.

Se você usa o editor de texto Atom, também pode usar ShellCheck na janela do editor durante o processo. Basta instalar os pacotes atom necessários para ShellCheck:

Comandos para usar no terminal

apm install linter linter-shellcheck

ShellCheck oferece suporte a outros editores, como - Vim, Emacs, Sublime etc., também. Você pode encontrar uma lista completa na seção Leia-me do GitHub.

Usando ShellCheck

Online

Você pode usar o ShellCheck online sem instalar nada em seu sistema (você precisará de um navegador da web, haha!).

  • Copie os códigos do seu script de shell.
  • Visite o site ShellCheck.
  • Cole seus códigos no editor.
  • Ele mostrará a saída ShellCheck.

Aqui está um exemplo:

Usando ShellCheck Online

Usando ShellCheck Online

Interface de linha de comando

Depois de instalar os pacotes necessários para ShellCheck em seu sistema, você pode usá-lo de seu terminal sem qualquer conectividade de rede. Basta digitar o seguinte comando:

Comandos para usar no terminal

shellcheck arquivo

Substitua a parte arquivo pelo nome do arquivo do seu script de shell.

Interface de linha de comando ShellCheck

Interface de linha de comando ShellCheck

Extensões do Editor

Depois de instalar as extensões necessárias para o seu editor de texto, você pode ver a saída do ShellCheck instantaneamente, sem executar o comando shellcheck manualmente. Esta é a aparência do editor Atom:

Atom com Linter-ShellCheck

Atom com Linter-ShellCheck

Prós e contras

Quer você seja um programador Shell experiente ou apenas um iniciante, você tem tudo a ganhar e nada a perder usando o ShellCheck. Antes de realmente executar scripts de shell, verifique com ShellCheck, você será capaz de detectar erros e bugs no início e ser mais produtivo com Linux.

Você já tentou escrever um script de shell antes? Você usou ShellCheck? Se sim, como foi sua experiência? Compartilhe conosco! :)

Confira também a versão original desse post em inglês
Esse post foi originalmente escrito por Munif Tanjim e publicado no site itsfoss.com. Traduzido pela rtland.team

Easily Find Bugs In Shell Scripts With ShellCheck

Propaganda
Blog Comments powered by Disqus.
Propaganda