Hoe Linux Bash-scripts te debuggen met ShellCheck

Hoe Linux Bash-scripts te debuggen met ShellCheck

Heb je problemen met een Bash-script dat je voor je Linux-pc hebt geschreven ? In plaats van door talloze threads op StackExchange te kijken voor programmeerhulp, kunt u overwegen de ShellCheck-tool te gebruiken om Linux Bash-scripts te debuggen en automatisch fouten in uw code te vinden.

ShellCheck ophalen

ShellCheck is een handig hulpmiddel, maar het wordt niet standaard geleverd met uw Linux-besturingssysteem. Als u het in plaats daarvan wilt gebruiken, moet u het eerst installeren. In deze zelfstudie bespreken we hoe u ShellCheck installeert 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 werk uw pakketten bij. Volg daarna de instructies die overeenkomen met uw Linux-besturingssysteem.

Ubuntu

ShellCheck bevindt zich in de officiële Ubuntu-softwarebronnen, dus het installeren ervan 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 klaar voor gebruikers om te installeren. Houd er rekening mee dat deze versie wordt tegengehouden vanwege de manier waarop Debian dingen doet.

Let op: 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 u eerst de "Community"-softwarerepository 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 door (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 de Ctrl + O- knop te drukken.

Nu de nieuwe bewerkingen van Pacman.conf zijn voltooid, 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 naar Arch Linux met:

sudo pacman -S shellcheck

Fedora

Om de ShellCheck scriptanalysetool op Fedora Linux te krijgen, open je een terminal en gebruik je de DNF-pakketbeheertool.

sudo dnf installeer ShellCheck

OpenSUSE

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

sudo zypper installeer ShellCheck

Generieke Linux

Gebruikers van minder bekende Linux-distributies die toegang willen tot de ShellCheck-scriptanalysetool, moeten de universele binaire versie installeren. Gelukkig is deze binaire versie eenvoudig te installeren en hoeft er niet aan de broncode te worden gesleuteld. Volg de onderstaande stappen om het werkend te krijgen!

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

export scversion= " stabiel "  # of "v0.4.7", of "laatste"

Stap 2: gebruik de wget- downloadtool en pak de nieuwste binaire versie van ShellCheck.

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

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

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

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

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

Foutopsporing in scripts met ShellCheck

Het primaire doel van ShellCheck is om een ​​script te bekijken (meestal Bash), misbruikte commando's te detecteren en correcties aan te bieden. Doe het volgende voor basisgebruik.

Eerst, 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 . De jouwe kan verschillen.

cd ~/shell-scripts

Voer de opdracht ls uit 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 grep  en  ls  samen te combineren  . Door deze twee opdrachten samen te gebruiken, kunt u alle niet-scriptbestanden eruit 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 door ShellCheck uit en controleert u uw code.

Hoe Linux Bash-scripts te debuggen met ShellCheck

shellcheck naam-van-bestand.sh

of

shellcheck naam-van-bestand.bash

Hoe Linux Bash-scripts te debuggen met ShellCheck

Onmiddellijk nadat de shellcheck- opdracht is uitgevoerd, zal het problemen met uw code detecteren en in de terminalprompt plaatsen. Lees door en leer hoe u uw programmering kunt verbeteren door de suggesties op te volgen die het u geeft.

ShellCheck-rapport opslaan in een bestand

Direct een rapport in de terminal krijgen voor je bash-programmering is super handig, maar je kunt het verliezen als je de terminal sluit. Om het verlies van je shellcheck-rapport te voorkomen, raden we aan om de uitvoer op te slaan in een tekstbestand, door het programma uit te voeren in combinatie met de >>- functie in de terminal.

shellcheck naam-van-bestand.sh >> ~/Documents/shellcheck-report-naam-van-bestand.sh

of

shellcheck naam-van-bestand.bash >> ~/Documents/shellcheck-report-naam-van-bestand.bash

Bekijk uw opgeslagen rapport in de terminal via het cat- commando.

Hoe Linux Bash-scripts te debuggen met ShellCheck

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

of

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


Verbeter het Gnome Shell-klembord met Pano

Verbeter het Gnome Shell-klembord met Pano

Laten we eerlijk zijn, het standaard Gnome Shell-klembord is niet erg goed. Installeer Pano om uw klembordervaring te verbeteren!

Hoe DaVinci Resolve 17 op Linux te installeren

Hoe DaVinci Resolve 17 op Linux te installeren

Heb je een geweldige niet-lineaire video-editor nodig voor je Linux-box? Laat Davinci Resolve 17 werken met deze gids!

Achtergronden downloaden naar het Linux-bureaublad met Wallpaper Downloader

Achtergronden downloaden naar het Linux-bureaublad met Wallpaper Downloader

Wallpaper Downloader is een gelikte Linux wallpaper-downloader en -manager. Het ondersteunt de meeste Linux-desktopomgevingen en is zeer eenvoudig te gebruiken. Deze gids

Hoe Tuxedo OS op uw computer te installeren

Hoe Tuxedo OS op uw computer te installeren

Wilt u Tuxedo OS testen door Tuxedo-computers? Leer hoe u de nieuwste versie van Tuxedo OS op uw pc kunt laten werken.

Hoe een DEB-bestand op Linux te installeren

Hoe een DEB-bestand op Linux te installeren

Wat is een DEB-bestand? Wat doe je ermee? Leer de vele manieren waarop u DEB-bestanden op uw Linux-pc kunt installeren.

Hoe Dying Light op Linux te spelen

Hoe Dying Light op Linux te spelen

Dying Light is een survival-horror-videogame uit 2015, ontwikkeld door Techland en uitgegeven door Warner Bros Interactive Entertainment. Het spel draait om

Hoe Neptune Linux op uw computer te installeren

Hoe Neptune Linux op uw computer te installeren

Neptune gebruikt de KDE Plasma 5-desktopomgeving en streeft ernaar een elegant besturingssysteem te leveren. Hier leest u hoe u Neptune Linux op uw computer installeert.

Probeer Ubuntus nieuwe op snap gebaseerde desktop uit

Probeer Ubuntus nieuwe op snap gebaseerde desktop uit

Wilt u Ubuntu's nieuwe op snap-pakketten gebaseerde desktopbesturingssysteem uitproberen? Leer hoe u het op een virtuele machine implementeert met deze handleiding.

Hoe Undertale op Linux te spelen

Hoe Undertale op Linux te spelen

Undertale is een 2D indie-RPG uit 2015, ontwikkeld en uitgegeven door game-ontwikkelaar Toby Fox. Deze gids behandelt het downloaden en installeren van Undertale op uw

Hoe speel je Total War: THREE KINGDOMS op Linux

Hoe speel je Total War: THREE KINGDOMS op Linux

Total War: Three Kingdoms is een turn-based strategie-RTS-game ontwikkeld door Creative Assembly. Hier leest u hoe u op Linux kunt spelen.