Shellcheck - uma ferramenta que mostra avisos e sugestões para scripts de shell
- 4343
- 410
- Enrique Crist
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.shShellcheck - 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 VimCaso 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.
- « Como instalar o CPALEN & WHM no CentOS 6
- Entendendo os arquivos de inicialização do shell e perfis de usuário no Linux »