- - Hoe Linux Bash-scripts te debuggen met ShellCheck

Hoe Linux Bash-scripts te debuggen met ShellCheck

Heeft u problemen met een Bash-script uschreef voor je Linux-pc? In plaats van talloze threads op StackExchange te doorzoeken voor hulp bij het programmeren, kunt u overwegen om de ShellCheck-tool te gebruiken om Linux Bash scrips te debuggen en automatisch fouten in uw code te vinden.

Download ShellCheck

ShellCheck is een handig hulpmiddel, maar het komt nietmet uw Linux-besturingssysteem uit de doos. Als u het in plaats daarvan wilt gebruiken, moet u het eerst installeren. In deze tutorial behandelen we hoe u ShellCheck kunt installeren vanuit verschillende officiële softwarebronnen. We laten u ook zien hoe u het programma kunt laten werken via het generieke Linux-binaire bestand.

Open een terminalvenster en update uw pakketten. Volg daarna de instructies die overeenkomen met uw Linux-besturingssysteem.

Ubuntu

ShellCheck staat in de officiële Ubuntu-softwarebronnen, dus installeren is vrij eenvoudig. Gebruik in een terminal de Apt-pakketbeheerder en zorg dat de nieuwste versie van ShellCheck werkt.

sudo apt install shellcheck

Debian

Debian Stable heeft een oudere versie van ShellCheck die gebruikers kunnen installeren. Houd er rekening mee dat deze versie wordt tegengehouden vanwege de manier waarop Debian dingen doet.

Opmerking: wil je een nieuwere versie van het ShellCheck-programma? Volg onze gids en leer hoe u modernere software op Debian kunt krijgen.

sudo apt-get install shellcheck

Arch Linux

Om ShellCheck op Arch Linux te krijgen, moet je eerstmoet de "Community" software repository inschakelen. Het inschakelen van "Community" vereist het bewerken van het Pacman.conf-bestand. Om het bestand te bewerken, opent u Pacman.conf in Nano.

sudo nano /etc/pacman.conf

Blader erdoor (met de pijltjestoetsen) en zoek het gedeelte 'Community' van het bestand. Verwijder alle instanties van het symbool # (ongeveer drie regels). Sla vervolgens de bewerkingen op door op te drukken Ctrl + O knop.

Met de nieuwe bewerkingen voor Pacman.conf geregeld, drukt u op Ctrl + X om Nano te sluiten. Synchroniseer vervolgens Pacman om toegang tot de Arch Linux "Community" repository in te stellen.

sudo pacman -Syyuu

Installeer ten slotte ShellCheck op Arch Linux met:

sudo pacman -S shellcheck

Fedora

Om de ShellCheck script analyse tool op Fedora Linux te krijgen, open een terminal en gebruik de DNF pakket management tool.

sudo dnf install ShellCheck

OpenSUSE

Het installeren van ShellCheck op OpenSUSE vereist geen speciale stappen, omdat het zich in de belangrijkste softwarebronnen van de distributie bevindt. Om het te krijgen, voert u de volgende Zypper-pakketopdracht in een terminalvenster in.

sudo zypper install ShellCheck

Generieke Linux

Gebruikers van minder bekende Linux-distributies diewil toegang tot de ShellCheck script analyse tool moet de universele binaire release installeren. Gelukkig is deze binaire release eenvoudig te installeren en hoeft er niet aan de broncode te worden gesleuteld. Volg de onderstaande stappen om het te laten werken!

Stap 1: exporteer de versie van ShellCheck die u gaat downloaden naar uw terminalomgeving.

export scversion="stable" # or "v0.4.7", or "latest"

Stap 2: de ... gebruiken wget downloadtool, pak de nieuwste ShellCheck binaire release.

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

Stap 3: pak het ShellCheck TarXZ-archief uit met de teer commando.

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

Stap 4: installeer ShellCheck op uw Linux-pc met de cp commando.

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

Foutopsporingsscripts met ShellCheck

Het primaire doel van ShellCheck is om een ​​script (meestal Bash) te bekijken, misbruikte opdrachten te detecteren en correcties aan te bieden. Voor basisgebruik doet u het volgende.

Eerste, CD naar waar het script dat u wilt controleren zich op uw Linux-pc bevindt. In deze zelfstudie bevindt ons script zich in ~ / Shell-scripts. Die van jou kan verschillen.

cd ~/shell-scripts

Voer de ... uit ls commando en bekijk alle bestanden in de huidige map.

Opmerking: als u ShellCheck wilt gebruiken in een map met meerdere bestandstypen, is het een goed idee om te combineren grep en ls samen. Door deze twee opdrachten samen te gebruiken, kunt u alle niet-scriptbestanden filteren.

ls

Of combineer met grep om alleen scriptbestanden te bekijken.

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

Zoek de naam van een scriptbestand in de ls prompt en markeer de bestandsnaam met de muis. Als u klaar bent, voert u het uit via ShellCheck en controleert u uw code.

shellcheck name-of-file.sh

of

shellcheck name-of-file.bash

Onmiddellijk na de shellcheck opdracht wordt uitgevoerd, detecteert het problemen met uw code en plaatst deze in de terminalprompt. Lees door en leer hoe u uw programmering kunt verbeteren door de suggesties te volgen die het u geeft.

Sla ShellCheck-rapport op in een bestand

Krijg direct een rapport in de terminal voorje bash-programmering is echter super handig, je kunt het verliezen als je de terminal sluit. Om te voorkomen dat u uw shellcheck-rapport verliest, raden we u aan de uitvoer op te slaan in een tekstbestand door het programma uit te voeren in combinatie met de >> functie in de terminal.

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

of

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

Bekijk uw opgeslagen rapport in de terminal via de kat commando.

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

of

cat ~/Documents/shellcheck-report-name-of-file.bash | more
</ P>

Comments