Shellcheck - Ein Werkzeug, das Warnungen und Vorschläge für Shell -Skripte zeigt

Shellcheck - Ein Werkzeug, das Warnungen und Vorschläge für Shell -Skripte zeigt

Shellcheck ist ein statisches Analysetool, das Warnungen und Vorschläge zu schlechten Code in Bash/SH -Shell -Skripten zeigt. Es kann auf verschiedene Arten verwendet werden: aus dem Web, indem Sie Ihr Shell -Skript in einem Online -Editor (ACE - einem eigenständigen Code -Editor in JavaScript) in https: // www einfügen.Shellcheck.NET (es wird immer mit dem neuesten Git -Commit synchronisiert und ist der einfachste Weg, um Shellcheck auszugeben) für sofortiges Feedback.

Alternativ können Sie es auf Ihrem Computer installieren und aus dem Terminal ausführen, in Ihren Texteditor sowie in Ihre Build- oder Testsuiten integrieren.

Es gibt drei Dinge, die Shellcheck in erster Linie macht:

  • Es weist auf und erklärt typische Syntaxprobleme des Anfängers, die dazu führen, dass eine Shell kryptische Fehlermeldungen liefert.
  • Es weist auf und erklärt typische semantische Probleme mit mittlerer Ebene, die dazu führen.
  • Es weist auch auf subtile Einschränkungen, Eckfälle und Fallstricke auf.

In diesem Artikel zeigen wir, wie ShellCheck auf den verschiedenen Weise installiert und verwendet werden, um Fehler oder schlechte Code in Ihren Shell -Skripten unter Linux zu finden.

So installieren und verwenden Sie Shellcheck unter Linux

Shellcheck kann einfach lokal über Ihren Paketmanager wie gezeigt installiert werden.

Auf Debian/Ubuntu

# APT-GET-GET SHARCHECK 

Auf rhel/centos

# yum -y install epel -release # yum Installieren Sie Shellcheck 

Auf Fedora

# DNF Installieren Sie Shellcheck 

Sobald Shellcheck installiert ist, schauen wir uns an, wie Sie Shellcheck in den verschiedenen Methoden verwenden, die wir zuvor erwähnt haben.

Verwenden Sie Shellcheck aus dem Web

Gehen Sie zu https: // www.Shellcheck.NET und fügen Sie Ihr Skript in den bereitgestellten ACE -Editor ein.

Im folgenden Beispiel besteht das Test -Shell -Skript aus den folgenden Zeilen:

#!/bin/bash #declare variablen minargs = 2 e_notroot = 50 e_minargs = 100 #Echo -Werte von Variablen Echo $ minargs echo $ e_nonroot exit 0; 
Shellcheck - Tool für Online -Shell -Skriptanalyse

Aus dem Screenshot oben sind die ersten beiden Variablen E_notroot Und E_minargs wurden deklariert, aber nicht genutzt, Shellcheck meldet diese als „suggestive Fehler“:

SC2034: E_NOTROOT erscheint ungenutzt. Überprüfen Sie es oder exportieren Sie es. SC2034: E_Minargs erscheint ungenutzt. Überprüfen Sie es oder exportieren Sie es. 

Dann zweitens der falsche Name (in der Erklärung echo $ e_nonroot) wurde an gewohnt Echo Variable E_NOTROOT, Deshalb zeigt Shellcheck den Fehler an:

SC2153: Mögliches Rechtschreibfehler: E_nonroot ist möglicherweise nicht zugewiesen, aber E_NOTROOT ist 

Wenn Sie sich die Echo -Befehle ansehen, wurden die Variablen nicht doppelt zitiert (hilft, Kugeln und Wortaufteilung zu verhindern). Daher zeigt die Shell -Überprüfung die Warnung an:

SC2086: Doppelte Zitat, um Kugeln und Wortaufteilung zu verhindern. 

Verwenden Sie Shellcheck aus dem Terminal

Sie können Shellcheck auch aus der Befehlszeile ausführen. Wir werden das gleiche Shell-Skript oben wie folgt verwenden:

$ Shellcheck -Test.Sch 
Shellcheck - Überprüft den schlechten Code in Shell -Skripten

Verwenden Sie Shellcheck aus dem Texteditor

Sie können auch anzeigen Shellcheck Vorschläge und Warnungen direkt in einer Vielzahl von Redakteuren. Dies ist wahrscheinlich eine effizientere Möglichkeit, Shellcheck zu verwenden. Sobald Sie eine Dateien gespeichert haben, werden Ihnen Fehler im Code angezeigt.

In Vim, Verwenden Sie Ale oder Syntastic (wir werden dies verwenden):

Beginnen Sie mit der Installation Erreger so dass es einfach ist, Syntastic zu installieren. Führen Sie die folgenden Befehle aus, um die zu erhalten Erreger.Vim Datei und die Verzeichnisse, die es benötigt:

# mkdir -p ~/.vim/autoload ~/.vim/bündel && curl -lsso ~/.VIM/Autoload/Pathogen.vim https: // tpo.PE/Pathogen.Vim 

Fügen Sie dies dann zu Ihrem hinzu ~/.vimrc Datei:

Pathogen#Infect () ausführen 

Sobald Sie den Erreger installiert haben, können Sie jetzt syntastisch einsetzen ~/.vim/bündel folgendermaßen:

# CD ~/.vim/bündel && git klone - -depth = 1 https: // github.com/vim-syntastisch/syntastisch.Git 

Schließen Sie als nächstes Vim und starten Sie es wieder, um ihn neu zu laden, und geben Sie den folgenden Befehl ein:

: Helptags 

Wenn alles gut geht, sollten Sie haben Shellcheck integriert mit Vim, Die folgenden Screenshots zeigen, wie es mit demselben Skript oben funktioniert.

Überprüfen Sie den schlechten Shell -Skript -Code in VIM

Falls Sie einen Fehler erhalten, nachdem Sie die obigen Schritte befolgt haben, haben Sie möglicherweise nicht installiert Erreger korrekt. Wiederholen Sie die Schritte, aber dies stellt sicher, dass Sie Folgendes gemacht haben:

  • Erstellt sowohl die ~/.vim/autoload Und ~/.vim/bündel Verzeichnisse.
  • Fügte die Leitung von Pathogen#Infect () zu Ihrer hinzugefügt ~/.vimrc Datei.
  • Hat der Git -Klon des syntastischen Innenraums ~/.vim/bündel.
  • Verwenden Sie geeignete Berechtigungen, um auf alle oben genannten Verzeichnisse zuzugreifen.

Sie können auch andere Redakteure verwenden, um den schlechten Code in Shell -Skripten wie folgt zu überprüfen:

  • In EMACs, verwenden Flycheck.
  • In Sublime Sublimelinter einsetzen.
  • In Atom verwenden.
  • Verwenden Sie bei den meisten anderen Redakteuren die Kompatibilität der GCC -Fehlerfehler.

Notiz: Verwenden Sie die Galerie mit schlechter Code, um mehr Shellcheck durchzuführen.

Shellcheck Github Repository: https: // github.com/Koalaman/Shellcheck

Das ist es! In diesem Artikel haben wir gezeigt, wie man installiert und verwendet Shellcheck Um Fehler oder schlechte Code in Ihren Shell -Skripten unter Linux zu finden. Teilen Sie uns Ihre Gedanken über den Kommentarbereich unten mit.

Kennen Sie alle ähnlichen Tools da draußen? Wenn ja, teilen Sie auch in den Kommentaren Informationen dazu bei.