GNU/Linux >> LINUX-Kenntnisse >  >> Linux

ShellCheck – Ein kostenloses Dienstprogramm zum Auffinden von Fehlern in Ihren Shell-Skripten

Sie sind ein angehender Programmierer und haben gerade ein einfaches Shell-Skript geschrieben. Sie wollten überprüfen, ob es Fehler gibt, aber Sie wissen nicht wie? Keine Bange! Mit ShellCheck können Sie jetzt ganz einfach Fehler in Ihren Shell-Skripten finden .

ShellCheck ist ein statisches Analysetool für Shell-Skripte. ShellCheck analysiert das Shell-Skript und zeigt sofort an, ob es Fehler in Ihren Shell-Skripten gibt. Es ist in Haskell-Sprache geschrieben und frei verteilt unter GPLv3.

ShellCheck analysiert das Skript und geht wie folgt vor:

  • Auf falsche Zitate prüfen
  • Auf falsche Testaussagen prüfen
  • Erkennen Sie falsche Befehle,
  • Syntaxfehler erkennen,
  • Ihnen vorschlagen, den Stil des Skripts zu verbessern,
  • Schreibfehler erkennen,
  • Verbessern Sie die Robustheit Ihres Skripts
  • Und prüfen Sie einige andere Probleme.

Sie brauchen keine Expertenhilfe, um Fehler in Ihren Skripten zu beheben. Öffnen Sie einfach ShellCheck, fügen Sie Ihr Skript ein und Boom! Sie können ShellCheck entweder online oder offline verwenden. In diesem kurzen Tutorial zeige ich Ihnen beides!

ShellCheck im Web

Sie können die Skripte jederzeit online überprüfen, indem Sie die ShellCheck-Website besuchen.

Öffnen Sie Ihren Webbrowser und gehen Sie auf den folgenden Link.

Fügen Sie Ihr Shell-Skript für sofortiges Feedback ein.

Beispielausgabe:

Hinweis: Ich habe das in diesem Beispiel verwendete Skript nicht geschrieben. Ich habe es gerade online gefunden, um ShellCheck zu testen.

Alternativ können Sie es auf Ihrer Linux-Box installieren und Ihr Skript jederzeit offline testen.

Installieren Sie ShellCheck unter Linux

ShellCheck ist für die meisten Linux-Betriebssysteme gepackt. Sie können es ganz einfach mit dem Paketmanager Ihrer Distribution installieren, wie unten gezeigt.

Auf Arch Linux und seinen Derivaten:

$ sudo pacman -S shellcheck

Führen Sie unter Debian, Ubuntu, Linux Mint den folgenden Befehl aus, um es zu installieren:

$ sudo apt-get install shellcheck

Auf RHEL aktiviert CentOS das EPEL-Repository:

$ sudo yum -y install epel-release

Und Shellcheck installieren:

$ sudo yum install ShellCheck

Auf Fedora-Systemen:

$ sudo dnf install ShellCheck

Führen Sie unter openSUSE (Tumbleweed Edition) den folgenden Befehl aus:

$ sudo zypper in ShellCheck

Informationen zu anderen Distributionen finden Sie auf der offiziellen Installationsseite .

Finden Sie Fehler in Ihren Shell-Skripten mit ShellCheck unter Linux

Öffnen Sie nach der Installation das Terminal und führen Sie den folgenden Befehl aus, um Ihre Skripts zu testen.

shellcheck <path_of_your_script>

Beispiel: 

$ shellcheck myscript.sh

Beispielausgabe:

In myscript.sh line 1:
# This script displays the date, time, username and
^-- SC2148: Tips depend on target shell and yours is unknown. Add a shebang.


In myscript.sh line 6:
 echo "Your username is: `whoami` \\n"
 ^-- SC2006: Use $(..) instead of legacy `..`.
 ^-- SC2028: echo won't expand escape sequences. Consider printf.

Wie Sie in der obigen Ausgabe sehen, zeigt ShellCheck die Vorschläge in Zeile 1 und Zeile 6 an.

Bitte beachten Sie, dass ShellCheck die Fehler in den Skripten nicht automatisch behebt. Stattdessen gibt es Warnungen und Vorschläge für Ihre Shell-Skripte.

Das ShellCheck-Dienstprogramm könnte für jeden nützlich sein, der Shell-Skripting lernen möchte. Schreiben Sie einfach ein Skript, kopieren Sie den Code in ShellCheck und finden Sie die Fehler. So einfach ist das!


Linux
  1. Assoziative Arrays in Shell-Skripten?

  2. Richtiges Sperren in Shell-Skripten?

  3. Shell-Test, um ein Muster in einer Zeichenfolge zu finden?

  4. Shell-Skripte über eine Website ausführen?

  5. Befehlszeilenparameter in Shell-Skripten

Granatenschock? Nein, ShellCheck! Finden Sie Fehler in Ihren Skripten.

Arrays in Shell-Skripten

Wie verwende ich if-else in Shell-Skripten?

Die for-Schleife in Shell-Skripten verstehen

Die While-Schleife in Shell-Skripten

Finden Sie die RAM-Größe in Linux