Shellcheck - uma ferramenta que mostra avisos e sugestões para scripts de shell

Shellcheck - uma ferramenta que mostra avisos e sugestões para scripts de shell

Verifique é uma ferramenta de análise estática que mostra avisos e sugestões sobre o código ruim nos scripts Bash/Sh Shell. Pode ser usado de várias maneiras: na web, colando seu script de shell em um editor online (ACE - um editor de código independente escrito em JavaScript) em https: // www.Verifique.NET (é sempre sincronizado com o mais recente comprometimento do git e é a maneira mais simples de experimentar o shells) para obter feedback instantâneo.

Como alternativa, você pode instalá -lo em sua máquina e executá -lo do terminal, integrá -lo ao seu editor de texto e também em suas suítes de construção ou teste.

Há três coisas que a Shellcheck faz principalmente:

  • Ele aponta e explica os problemas típicos de sintaxe do iniciante que fazem com que um shell forneça mensagens de erro enigmático.
  • Aponta e explica problemas semânticos intermediários típicos que fazem com que uma concha se comporte de forma estranha e contra-intuiva.
  • Ele também aponta advertências sutis, casos de canto e armadilhas que podem causar o script de trabalho de um usuário avançado falhar em circunstâncias futuras.

Neste artigo, mostraremos como instalar e usar o shellcheck das várias maneiras para encontrar bugs ou código ruim em seus scripts de shell no Linux.

Como instalar e usar shellcheck no Linux

Verifique pode ser facilmente instalado localmente através do seu gerenciador de pacotes, conforme mostrado.

No Debian/Ubuntu

# apt-get install shellcheck 

Em Rhel/Centos

# yum -y Instale o epel -libease # yum install shellcheck 

Em Fedora

# dnf install shellcheck 

Depois que a shellCheck foi instalada, vamos dar uma olhada em como usar o shellceck nos vários métodos que mencionamos antes.

Usando shellcheck da web

Vá para https: // www.Verifique.rede e cole seu script no editor da ACE fornecido, você verá a saída na parte inferior do editor, conforme mostrado na tela abaixo.

No exemplo a seguir, o script de shell de teste consiste nas seguintes linhas:

#!/BIN/BASH #DecLare Variáveis ​​Minargs = 2 e_notroot = 50 e_minargs = 100 #echo valores de variáveis ​​echo $ minargs echo $ e_nonroot saída 0; 
Shellcheck - ferramenta de análise de scripts on -line de shell

Na captura de tela acima, as duas primeiras variáveis E_notroot e E_minargs foram declarados, mas não são utilizados, o Shellcheck relata isso como "erros sugestivos":

SC2034: E_NOTROOT parece não utilizado. Verifique ou exportá -lo. SC2034: E_MINARGS parece não utilizado. Verifique ou exportá -lo. 

Então, em segundo lugar, o nome errado (na declaração eco $ e_nonroot) foi usado para eco variável e_notroot, É por isso que o shellcheck mostra o erro:

SC2153: Possível erro de ortografia: e_nonroot não pode ser atribuído, mas e_notroot é 

Novamente, quando você olha para os comandos de eco, as variáveis ​​não foram citadas duas vezes (ajuda a impedir a divisão de globais e palavras); portanto, a verificação do shell mostra o aviso:

SC2086: Citação dupla para impedir a divisão de globos e palavras. 

Usando shellcheck do terminal

Você também pode executar o ShellCheck a partir da linha de comando, usaremos o mesmo script de shell acima da seguinte forma:

$ shellcheck teste.sh 
Shellcheck - verifica o código ruim nos scripts de shell

Usando shellcheck do editor de texto

Você também pode ver Verifique Sugestões e avisos diretamente em uma variedade de editores, essa é provavelmente uma maneira mais eficiente de usar o shellcheck, depois de salvar um arquivo, mostra algum erro no código.

Em Vim, Use Ale ou Syntatic (nós usaremos isso):

Comece instalando Patógeno para que seja fácil instalar sintas. Execute os comandos abaixo para obter o patógeno.vim arquivo e os diretórios que precisa:

# mkdir -p ~//.Vim/AUTOLOAD ~/.vim/bundle && curl -lsso ~/.Vim/Autoload/patógeno.vim https: // tpo.PE/patógeno.vim 

Em seguida, adicione isso ao seu ~/.Vimrc arquivo:

executar patógeno#infect () 

Depois de instalar patógen ~/.vim/pacote do seguinte modo:

# CD ~//.vim/bundle && git clone - -depth = 1 https: // github.com/vim-sintatic/sintatical.git 

Em seguida, feche o vim e comece a recarregá -lo e digite o comando abaixo:

: Helptags 

Se tudo correr bem, você deveria ter Verifique Integrado com Vim, As capturas de tela a seguir mostram como funciona usando o mesmo script acima.

Verifique o código de script de shell ruim em Vim

Caso você receba um erro depois de seguir as etapas acima, possivelmente não instalou Patógeno corretamente. Refazer as etapas, mas isso garante que você tenha feito o seguinte:

  • Criou os dois ~/.Vim/AUTOLOAD e ~/.vim/pacote diretórios.
  • Adicionado a linha de patógeno executivo#infect () para o seu ~/.Vimrc arquivo.
  • Fez o clone git de sinástico por dentro ~/.vim/pacote.
  • Use permissões apropriadas para acessar todos os diretórios acima.

Você também pode usar outros editores para verificar o código ruim em scripts de shell como:

  • Em Emacs, usar Flycheck.
  • Em sublime, empregue sublimelinter.
  • No Atom, use o linhador.
  • Na maioria dos outros editores, use a compatibilidade de erros do GCC.

Observação: Use a galeria de código ruim para realizar mais verificações de shells.

Repositório do github do shellcheck: https: // github.com/koalaman/shellcheck

É isso! Neste artigo, mostramos como instalar e usar Verifique Para encontrar bugs ou código ruim em seus scripts de shell no Linux. Compartilhe seus pensamentos conosco através da seção de comentários abaixo.

Você conhece outras ferramentas semelhantes por aí? Se sim, compartilhe informações sobre eles nos comentários também.