Überprüfen Sie die Syntax in Bash

Naila Saad Siddiqui 15 Februar 2024
  1. Verwenden Sie den Online-Editor ShellCheck
  2. Verwenden Sie den Befehl bash -n (noexec-Modus).
  3. Verwenden Sie den Befehl sh
Überprüfen Sie die Syntax in Bash

Dieser Artikel beschreibt Möglichkeiten, ein Bash-Skript auf syntaktische Probleme zu überprüfen, ohne das Skript auszuführen.

Syntaxfehler treten aufgrund einiger Grammatik- oder Tippfehler im Code auf. In den modernen Compilern anderer Programmiersprachen werden solche Fehler von Compilern bereits vor dem Ausführen des Programms hervorgehoben.

Dies ist in Bash-Skripten nicht der Fall, da Bash ein Befehlszeileninterpreter ist. Daher müssen wir die Syntaxfehler separat prüfen.

Es kann verschiedene Techniken geben, um syntaktische Probleme wie die folgenden zu überprüfen.

Verwenden Sie den Online-Editor ShellCheck

Es gibt ein Online-Tool, Shell Check, um das Skript auf Syntaxfehler zu überprüfen. Das Tool finden Sie hier.

Shell-Check

In der Abbildung oben gibt es zwei separate Fenster. Einer ist der Code-Editor, und der untere Teil zeigt die Liste der Fehler und Warnungen in Ihrem Code, indem Zeilennummern angegeben werden.

Der ShellCheck-Editor ist ein sehr hilfreiches Tool für Anfänger und erfahrene Programmierer, da er kleinere bis fortgeschrittene Probleme im Code erkennt, bevor er ausgeführt wird.

Verwenden Sie den Befehl bash -n (noexec-Modus).

Sie können auch das Flag -n (noexec) mit dem Befehl bash verwenden, um nach Fehlern im Skript zu suchen.

bash -n [script-name]

Dadurch werden nur alle Befehle im Skript gelesen und auf Fehler geprüft, ohne sie auszuführen. Wenn es Fehler in den Befehlen gibt, werden sie angezeigt; andernfalls wird keine Ausgabe angezeigt.

Betrachten Sie beispielsweise das folgende Skript.

Beispielskript

Beachten Sie, dass wir das Schließen der if-Anweisung verpasst haben (d.h. wir haben fi anstelle von if verwendet). Also wird es den Fehler geben.

Fehler, der mit dem Befehl bash -n angezeigt wird

Verwenden Sie den Befehl sh

Ein weiterer Befehl zum Überprüfen auf Syntaxfehler lautet:

sh -n [script-name]

Wir führen den Befehl für dasselbe Skript aus, das im vorherigen Abschnitt beschrieben wurde, und suchen nach Fehlern.

Fehler, der mit dem Befehl sh angezeigt wird