Encontre Bugs facilmente em Scripts Shell com ShellCheck

Brief: O ShellCheck é uma útil ferramenta utilitária 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.

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

Shell como uma linguagem de programação

Há mais para shell embora. 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 shell é chamado Shell Script. Assim, você pode realizar várias tarefas complexas e automação para o seu sistema usando scripts de shell.

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

ShellCheck

O 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 é a 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á-los.

Vamos dar uma olhada nos tipos de coisas que o ShellCheck verifica:

  • Citando: Shell tem maneiras específicas de usar variáveis ​​e strings. Se você os usou incorretamente, o ShellCheck irá avisá-lo.
  • Condicionais: verificará usos incorretos de instruções de teste.
  • Comandos Freqüentemente Mal Usados : O ShellCheck irá avisá-lo sobre os comandos do shell usados ​​incorretamente.
  • Erros de Iniciante Comuns: Vários erros de sintaxe que os usuários iniciantes do Shell fazem quando o Shell usa várias regras de sintaxe rígidas 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 das línguas não se importaria, mas aqui importa.
  • Estilo: O 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 : O ShellCheck dará sugestões para tornar seus scripts robustos, avisando sobre problemas de portabilidade com diferentes shells (bash, sh, ksh, dash etc.) e várias outras coisas.

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

ShellCheck no GitHub

Instalando o ShellCheck

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

 sudo apt install shellcheck 

Para outras distribuições, verifique a seção GitHub ReadMe Installing.

Se você usar o editor de texto Atom, também poderá usar o ShellCheck dentro da janela do editor on-the-fly. Basta instalar os pacotes atom necessários para o ShellCheck:

 apm install linter linter-shellcheck 

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

Usando o ShellCheck

Conectados

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

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

Aqui está um exemplo:

Usando o ShellCheck Online

Interface da Linha de comando

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

 shellcheck 

Substitua a peça pelo nome do seu script de shell.

Interface de linha de comando do 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 on-the-fly, sem executar o comando shellcheck manualmente. Veja como fica o editor do Atom:

Átomo com Linter-ShellCheck

Prós e contras

Se você é um programador experiente da Shell ou apenas um iniciante, você tem tudo a ganhar e nada a perder usando o ShellCheck. Sempre que você estiver escrevendo scripts de shell, verifique com ShellCheck, você será capaz de detectar erros e bugs no início e, em geral, ser mais produtivo com o Linux.


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

Recomendado

Como proteger por senha uma pasta no Linux
2019
Lançamento do Linux Lite 3.0
2019
Jogos fantásticos do Linux e onde encontrá-los
2019