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

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

WLAN-Signalqualität vom Treiber abhängig
GoaSkin , 29.10.2014 14:16, 0 Antworten
Hallo, für einen WLAN-Stick mit Ralink 2870 Chipsatz gibt es einen Treiber von Ralink sowie (m...
Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 6 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] WLAN im Laptop ersetzen
Joerg Guenther, 31.10.2014 12:46
Hallo Stefan, Am 31.10.2014 um 12:19 schrieb Heinz-Stefan Neumeyer: > Am Freitag, den 31.10.2014, 12:05...
Re: [EasyLinux-Ubuntu] WLAN im Laptop ersetzen
Joerg Guenther, 31.10.2014 12:42
Am 31.10.2014 um 11:20 schrieb Heinz-Stefan Neumeyer: > Am Dienstag, den 28.10.2014, 20:44 +0100 schrieb J...
Re: [EasyLinux-Ubuntu] WLAN im Laptop ersetzen
Heinz-Stefan Neumeyer, 31.10.2014 12:19
Am Freitag, den 31.10.2014, 12:05 +0100 schrieb Heiko Ißleib: Mahlzeit Heiko > > der aber auch nic...
Re: [EasyLinux-Ubuntu] WLAN im Laptop ersetzen
Heiko, 31.10.2014 12:05
Am Freitag, 31. Oktober 2014, 11:20:19 schrieb Heinz-Stefan Neumeyer: Hallo. > Einspruch! > AVM...
Re: [EasyLinux-Ubuntu] Skype antwortet nicht
Gerhard Blaschke, 31.10.2014 12:01
Am 31.10.2014 um 11:45 schrieb Wolfgang Voelker: > Hallo Hartmut, > > On October 31, 2014 11:24...