Bash-Skripte prüfen lassen

Bash-Skripte prüfen lassen
18.03.2014 12:31

Wer häufiger Shell-Skripte schreibt, kann diese nicht nur auf Syntaxfehler prüfen lassen. Spezielle Werkzeuge mahnen problematische Stellen an und zeigen auf, wie gut sich das Shell-Skript portieren lässt.

Auf Wunsch prüft bereits die Bash ein neu geschriebenes Skript auf Syntaxfehler. Dazu ruft man das Skript wie folgt auf:

bash -n skript.sh

Des Weiteren färben viele Editoren die verschiedenen Bestandteile und Schlüsselwörter des Skriptes ein. Dieses Syntaxhighlighting sollte man unbedingt einschalten, da man mit ihm schon während der Programmierung schnell Tippfehler findet.

Einen Schritt weiter gehen sogenannte Code-Analyse-Werkzeuge. Sie analysieren ein Skript und prangern neben Fehlern auch problematische Konstrukte an. Eine solche Code-Analyse bietet ShellCheck für Shell-Skripte. Man muss lediglich den Code seines eigenen Bash-Skripts in das Eingabefeld auf der Homepage einfügen und den blauen Pfeil anklicken. Im unteren Teil der Seite erscheint dann eine Liste mit allen Mängeln. Alternativ kann man sich ShellCheck auch als Programm auf dem eigenen Rechner ausführen.

ShellCheck klopft ein Skript auf problematische Stellen ab.

Abschließend verrät das Werkzeug Shlint noch, ob ein Skript portabel ist. Shlint ist in Ruby geschrieben. Zu seiner Installation muss man deshalb zunächst über den Paketmanager Ruby installieren (unter Ubuntu im Paket ruby). Anschließend spielt der Befehl:

sudo gem install shlint

das kleine Werkzeug ein. Anschließend setzt man Shlint auf das entsprechende Skript an:

shlint test.sh

Weitere Tipps zur Shell-Programmierung und gegen wirren Spaghetticode hält der Schwerpunkt des LinuxUser 03/2014 bereit.


Kommentare

Aktuelle Fragen

Scannen nicht möglich
Werner Hahn, 19.08.2016 22:33, 3 Antworten
Laptop DELL Latitude E6510 mit Ubuntu 16,04, Canon Pixma MG5450. Das Drucken funktioniert, Scann...
Wie kann man das berichtigen
Udo Muelle, 17.07.2016 20:39, 1 Antworten
Fehlschlag beim Holen von http://extra.linuxmint.com/dists/rosa/main/binary-i386/Packages Hash-S...
Installation Genimotion
Horst Müller, 15.07.2016 17:00, 1 Antworten
Hallo, ich kann Genimotion nicht installieren. Folgende Fehlermeldung habe ich beim Aufruf erh...
Probleme beim Hochfahren der Terastaion 5400 mit Unix-Distrib
Sheldon Cooper, 10.07.2016 09:32, 0 Antworten
Hallo ihr lieben, habe seit zwei Tagen das Problem, das das NAS (Raid5) nicht mehr sauber hoch...
Mit Firewire Videos improtieren?
Werner Hahn, 09.06.2016 11:06, 5 Antworten
Ich besitze den Camcorder Panasonic NV-GS330, bei dem die Videos in guter Qualität nur über den 4...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Druckeraufträge_werden_angehalten-2
Karl-Heinz, 25.08.2016 18:07
Am Wed, 24 Aug 2016 21:31:46 +0200 schrieb alfred : Hallo Alfred, > Hallo Karl-Heinz, > in LO ist...
Re: [EasyLinux-Ubuntu] Wetteranzeige defekt?
Rainer, 25.08.2016 09:16
Hallo Uwe, Am Thu, 25 Aug 2016 08:41:18 +0200 schrieb Uwe Herrmuth : > > > Im Unterschied zu...
Re: [EasyLinux-Ubuntu] Wetteranzeige defekt?
Uwe Herrmuth, 25.08.2016 08:41
Hallo Rainer, Rainer schrieb am 25.08.2016 um 08:12: > Im Unterschied zu anderen Wetter-Anwendungen biet...
Re: [EasyLinux-Ubuntu] Wetteranzeige defekt?
Rainer, 25.08.2016 08:12
Hallo Frank, Am Wed, 24 Aug 2016 19:53:57 +0200 schrieb Frank von Thun : > > > > seit den j...
Re: [EasyLinux-Ubuntu] Druckeraufträge_werden_angehalten-2
alfred, 24.08.2016 21:31
Am 24.08.2016 um 20:12 schrieb Dennis: Hallo zusammen, >> Am 24.08.2016 um 20:02 schrieb Frank von Th...