Como depurar scripts Linux Bash com ShellCheck

Como depurar scripts Linux Bash com ShellCheck

Você está tendo problemas com um script Bash que escreveu para o seu PC Linux ? Em vez de procurar inúmeros threads no StackExchange em busca de ajuda para programação, considere o uso da ferramenta ShellCheck para depurar scripts do Linux Bash e encontrar erros em seu código automaticamente.

Obter ShellCheck

ShellCheck é uma ferramenta útil, mas não vem com o sistema operacional Linux pronto para uso. Em vez disso, se quiser usá-lo, você terá que instalá-lo primeiro. Neste tutorial, vamos cobrir como instalar o ShellCheck de várias fontes de software oficiais. Além disso, também mostraremos como fazer o programa funcionar por meio do binário Linux genérico.

Abra uma janela de terminal e atualize seus pacotes. Em seguida, siga as instruções que correspondem ao seu sistema operacional Linux.

Ubuntu

ShellCheck está nas fontes oficiais de software do Ubuntu, portanto, instalá-lo é bastante fácil. Em um terminal, use o gerenciador de pacotes Apt e obtenha a versão mais recente do ShellCheck funcionando.

sudo apt install shellcheck

Debian

O Debian Stable tem uma versão mais antiga do ShellCheck pronta para os usuários instalarem. Lembre-se de que esta versão é retida devido à forma como o Debian faz as coisas.

Nota: deseja uma versão mais recente do programa ShellCheck? Siga nosso guia e aprenda como obter software mais moderno no Debian .

sudo apt-get install shellcheck

Arch Linux

Para obter o ShellCheck no Arch Linux, primeiro você precisa habilitar o repositório de software “Community”. A ativação de “Comunidade” requer a edição do arquivo Pacman.conf. Para editar o arquivo, abra o Pacman.conf no Nano.

sudo nano /etc/pacman.conf

Percorra (com as teclas de seta) e encontre a seção “Comunidade” do arquivo. Remova todas as instâncias do símbolo # (cerca de três linhas). Em seguida, salve as edições pressionando o Ctrl + O botão.

Com as novas edições do Pacman.conf cuidadas, pressione Ctrl + X para fechar o Nano. Em seguida, sincronize novamente o Pacman para configurar o acesso ao repositório “Community” do Arch Linux.

sudo pacman -Syyuu

Finalmente, instale ShellCheck para Arch Linux com:

sudo pacman -S shellcheck

Fedora

Para obter a ferramenta de análise de script ShellCheck no Fedora Linux, abra um terminal e use a ferramenta de gerenciamento de pacotes DNF.

sudo dnf install ShellCheck

OpenSUSE

A instalação do ShellCheck no OpenSUSE não requer etapas especiais, pois está nas principais fontes de software da distribuição. Para obtê-lo, digite o seguinte comando do pacote Zypper em uma janela de terminal.

sudo zypper install ShellCheck

Linux genérico

Os usuários de distribuições menos conhecidas do Linux que desejam acessar a ferramenta de análise de script ShellCheck devem instalar a versão binária universal. Felizmente, esta versão binária é fácil de instalar e não requer ajustes no código-fonte. Para fazê-lo funcionar, siga as etapas abaixo!

Etapa 1:   exporte a versão do ShellCheck que você está prestes a baixar para o seu ambiente de terminal.

export scversion = " stable "  # ou "v0.4.7" ou "mais recente"

Etapa 2: usando a ferramenta de download wget , pegue a versão binária mais recente do ShellCheck.

wget " https://storage.googleapis.com/shellcheck/shellcheck- $ {scversion} .linux.x86_64.tar.xz "

Etapa 3: extraia o arquivo ShellCheck TarXZ com o  comando tar  .

tar --xz -xvf shellcheck- " $ {scversion} " .linux.x86_64.tar.xz

Etapa 4: instale o ShellCheck em seu PC Linux com o comando cp .

cp shellcheck- " $ {scversion} " / shellcheck / usr / bin /

Depurar scripts com ShellCheck

O objetivo principal do ShellCheck é examinar um script (geralmente Bash), detectar comandos usados ​​incorretamente e oferecer correções. Para uso básico, faça o seguinte.

Primeiro, coloque o CD no local onde está o script que você gostaria de verificar em seu PC Linux. Neste tutorial, nosso script está em ~ / shell-scripts . O seu pode ser diferente.

scripts de cd ~ / shell

Execute o comando ls e visualize todos os arquivos no diretório atual.

Nota: se você pretende usar ShellCheck em um diretório com vários tipos de arquivo, é uma boa ideia combinar  grep ls  juntos. Usar esses dois comandos juntos permite filtrar todos os arquivos que não sejam de script.

ls

Ou combine com grep para visualizar apenas arquivos de script.

ls | grep ".sh"
ls | grep ".bash"

Encontre o nome de um arquivo de script no prompt ls e destaque o nome do arquivo com o mouse. Quando estiver pronto, execute-o por meio do ShellCheck e verifique seu código.

Como depurar scripts Linux Bash com ShellCheck

shellcheck name-of-file.sh

ou

shellcheck name-of-file.bash

Como depurar scripts Linux Bash com ShellCheck

Imediatamente após a execução do comando shellcheck , ele detectará problemas com seu código e o colocará no prompt do terminal. Leia e aprenda como melhorar sua programação seguindo as sugestões fornecidas.

Salvar relatório ShellCheck em um arquivo

Obter um relatório instantâneo no terminal para a sua programação bash é muito útil, entretanto, você pode perdê-lo se fechar o terminal. Para evitar a perda de seu relatório de verificação de shell, recomendamos salvar a saída em um arquivo de texto, executando o programa em combinação com o recurso >> no terminal.

shellcheck name-of-file.sh >> ~ / Documents / shellcheck-report-name-of-file.sh

ou

shellcheck name-of-file.bash >> ~ / Documents / shellcheck-report-name-of-file.bash

Visualize seu relatório salvo no terminal por meio do comando cat .

Como depurar scripts Linux Bash com ShellCheck

cat ~ / Documents / shellcheck-report-name-of-file.sh | mais

ou

cat ~ / Documents / shellcheck-report-name-of-file.bash | mais


Melhore a área de transferência do Gnome Shell com o Pano

Melhore a área de transferência do Gnome Shell com o Pano

Vamos enfrentá-lo, a área de transferência padrão do Gnome Shell não é muito boa. Instale o Pano para melhorar sua experiência na área de transferência!

Como instalar o DaVinci Resolve 17 no Linux

Como instalar o DaVinci Resolve 17 no Linux

Você precisa de um ótimo editor de vídeo não linear para sua caixa Linux? Obtenha o Davinci Resolve 17 trabalhando com este guia!

Como baixar papéis de parede para a área de trabalho do Linux com o Wallpaper Downloader

Como baixar papéis de parede para a área de trabalho do Linux com o Wallpaper Downloader

O Wallpaper Downloader é um gerenciador e baixador de papéis de parede para Linux. Ele suporta a maioria dos ambientes de desktop Linux e é muito fácil de usar. Este guia

Como instalar o Tuxedo OS no seu computador

Como instalar o Tuxedo OS no seu computador

Quer testar o Tuxedo OS por computadores Tuxedo? Saiba como obter a versão mais recente do Tuxedo OS funcionando em seu PC.

Como instalar um arquivo DEB no Linux

Como instalar um arquivo DEB no Linux

O que é um arquivo DEB? O que você faz com isso? Aprenda as várias maneiras de instalar arquivos DEB em seu PC com Linux.

Como jogar Dying Light no Linux

Como jogar Dying Light no Linux

Dying Light é um videogame de survival horror de 2015 desenvolvido pela Techland e publicado pela Warner Bros Interactive Entertainment. O jogo é centrado em

Como instalar o Neptune Linux no seu computador

Como instalar o Neptune Linux no seu computador

O Neptune usa o ambiente de desktop KDE Plasma 5 e visa oferecer um sistema operacional elegante. Veja como instalar o Neptune Linux no seu computador.

Experimente o novo desktop baseado em snap do Ubuntu

Experimente o novo desktop baseado em snap do Ubuntu

Quer experimentar o novo sistema operacional de desktop baseado em pacote instantâneo do Ubuntu? Aprenda como implantá-lo em uma máquina virtual com este guia.

Como jogar Undertale no Linux

Como jogar Undertale no Linux

Undertale é um RPG indie 2D de 2015 desenvolvido e publicado pelo desenvolvedor de jogos Toby Fox. Este guia cobrirá o download e a instalação do Undertale em seu

Como jogar Total War: THREE KINGDOMS no Linux

Como jogar Total War: THREE KINGDOMS no Linux

Total War: Three Kingdoms é um jogo RTS de estratégia baseado em turnos desenvolvido pela Creative Assembly. Veja como jogar no Linux.