Vind eenvoudig fouten in shell-scripts met ShellCheck

Kort: ShellCheck is een handig hulpprogramma dat u waarschuwt voor mogelijke syntaxis en eenvoudige logische fouten, zonder het uit te voeren. Je kunt het ook gebruiken met Atom-teksteditor.

Zoals we allemaal weten, is de terminal een onlosmakelijk onderdeel van het Linux-systeem. En achter alles wat we doen in de terminal, is er de shell - een programma dat interageert met het besturingssysteem zelf. Elke opdracht die we in de terminal invoeren, wordt uiteindelijk geïnterpreteerd door de shell en handelt dan overeenkomstig.

Shell als programmeertaal

Er is echter meer aan de shell. Een UNIX-shell is niet alleen een bevel-interpreter, het dient ook als een programmeertaal! Shell als een programmeertaal biedt variabelen, flow control-constructies, citaten en functies.

Een bestand met shell-opdrachten en codes wordt Shell Script genoemd. U kunt dus verschillende complexe taken en automatisering voor uw systeem uitvoeren met behulp van shell-scripts.

Hoe dan ook, omdat we mensen zijn, maken we fouten. Het is dus duidelijk dat je tijdens het schrijven van shell-scripts ook fouten zult maken, zoals - syntactische fouten, typfouten, slechte patronen enz. Hier gaan we meer weten over de tool - ShellCheck - die ons daarmee zal helpen.

ShellCheck

ShellCheck is een statische analysetool voor uw shellscripts. Het is open-source en voornamelijk ontwikkeld voor Bash- of sh- scripts. Nu vraag je je misschien af, wat is statische analyse eigenlijk ? Welnu, statische analyse is een methode om een ​​programma te debuggen door de (statische) codes te onderzoeken in plaats van het uit te voeren / uit te voeren.

Laten we eens kijken naar wat voor soort dingen ShellCheck controleert:

  • Citeren: Shell heeft specifieke manieren om variabelen en strings te gebruiken. Als je ze verkeerd hebt gebruikt, zal ShellCheck je waarschuwen.
  • Voorwaardelijke voorwaarden: het controleert op onjuist gebruik van testverklaringen.
  • Vaak verkeerd gebruikte opdrachten: ShellCheck waarschuwt u voor onjuist gebruikte shell-opdrachten.
  • Gemeenschappelijke fouten voor beginners: verschillende syntaxisfouten die beginnende Shell-gebruikers maken, aangezien Shell verschillende strikte syntaxisregels gebruikt die verschillen van andere programmeertalen. Bijvoorbeeld: u kunt geen spaties rond het = -teken plaatsen terwijl u variabelen declareert. De meeste talen zouden het niet erg vinden, maar hier doet het er toe.
  • Stijl: ShellCheck geeft suggesties voor het verbeteren van de stijl van uw code.
  • Gegevens- en typefouten: verschillende kwesties met betrekking tot gegevens en typen.
  • Robuustheid, draagbaarheid & anderen : ShellCheck zal suggesties geven voor het robuust maken van uw scripts, u waarschuwen voor portabiliteitsproblemen met verschillende shells (bash, sh, ksh, dash etc.) en diverse andere zaken.

Voor documentatie en verschillende nuttige informatie, vergeet niet om het ShellCheck GitHub Project te bekijken:

ShellCheck op GitHub

ShellCheck installeren

Voor offlinegebruik kunt u het ShellCheck-pakket op uw systeem installeren. Voer op Ubuntu de volgende opdracht in uw terminal in:

 sudo apt install shellcheck 

Voor andere distributies, raadpleeg de GitHub ReadMe Installeren sectie.

Als u de Atom-teksteditor gebruikt, kunt u ShellCheck ook gebruiken in het venster van uw editor tijdens het werken. Installeer gewoon de nodige atoompakketten voor ShellCheck:

 apm install linter linter-shellcheck 

ShellCheck ondersteunt ook andere editors, zoals - Vim, Emacs, Sublime, enzovoort. Je vindt een volledige lijst in de GitHub Leesmij-sectie.

ShellCheck gebruiken

Online

U kunt ShellCheck online gebruiken zonder iets op uw systeem te installeren (u hebt echter wel een webbrowser nodig, haha!).

  • Kopieer de codes van je shell-script.
  • Bezoek de ShellCheck-website.
  • Plak je codes in de editor.
  • Het toont de ShellCheck-uitvoer.

Hier is een voorbeeld:

ShellCheck Online gebruiken

Command-line interface

Na het installeren van de nodige pakketten voor ShellCheck op uw systeem, kunt u het gebruiken vanaf uw terminal zonder enige netto connectiviteit. Typ gewoon de volgende opdracht:

 shellcheck 

Vervang het onderdeel door de bestandsnaam van uw shellscript.

ShellCheck Command-line interface

Editor-extensies

Na het installeren van de nodige extensies voor uw teksteditor, kunt u de ShellCheck-uitvoer on-the-fly bekijken zonder de shellcheck opdracht handmatig uit te voeren. Zo ziet het eruit in de Atom-editor:

Atoom met Linter-ShellCheck

Voor-en nadelen

Of je nu een doorgewinterde Shell-programmeur bent of gewoon een beginner, je hebt alles te winnen en niets te verliezen door ShellCheck te gebruiken. Wanneer je shell-scripts schrijft, controleer het met ShellCheck, je zult fouten en bugs vroegtijdig kunnen vangen en in het algemeen productiever zijn met Linux.


Heb je ooit eerder geprobeerd een shell-script te schrijven? Heb je ShellCheck gebruikt? Als dat zo was, hoe was je ervaring dan? Deel het met ons! :)

Aanbevolen

Chrome OS Look-Alike Linux Distro Chromixium uitgebracht
2019
Virus Alert! Een Linux Only Trojan "Hand Of Thief" Spotted In Grey Market
2019
De bronlicentie voor bedrijven voldoen aan de open source-eisen
2019