bash -n scriptname
Vielleicht eine offensichtliche Einschränkung:Dies validiert die Syntax, prüft aber nicht, ob Ihr Bash-Skript versucht, einen Befehl auszuführen, der nicht in Ihrem Pfad ist, wie ech hello
statt echo hello
.
Zeit verändert alles. Hier ist eine Website, die eine Online-Syntaxprüfung für Shell-Skripte bereitstellt.
Ich fand, dass es sehr leistungsfähig ist, häufige Fehler zu erkennen.
Über ShellCheck
ShellCheck ist ein statisches Analyse- und Linting-Tool für sh/bash-Skripte. Es konzentriert sich hauptsächlich auf den Umgang mit typischen Anfänger- und Fortgeschrittenen-Syntaxfehlern und Fallstricken, bei denen die Shell nur eine kryptische Fehlermeldung oder seltsames Verhalten ausgibt, aber es berichtet auch über ein paar fortgeschrittenere Probleme, bei denen Eckfälle verzögerte Fehler verursachen können.
Der Haskell-Quellcode ist auf GitHub verfügbar!