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

Probleme mit MPC/MPD
Matthias Göhlen, 27.09.2016 13:39, 0 Antworten
Habe gerade mein erstes Raspi Projekt angefangen, typisches Einsteigerding: Vom Raspi 3B zum Radi...
Soundkarte wird erkannt, aber kein Ton
H A, 25.09.2016 01:37, 6 Antworten
Hallo, Ich weiß, dass es zu diesem Thema sehr oft Fragen gestellt wurden. Aber da ich ein Linu...
Scannen nur schwarz-weiß möglich
Werner Hahn, 20.09.2016 13:21, 2 Antworten
Canon Pixma MG5450S, Dell Latitude E6510, Betriebssyteme Ubuntu 16.04 und Windows 7. Der Canon-D...
Meteorit NB-7 startet nicht
Thomas Helbig, 13.09.2016 02:03, 4 Antworten
Verehrte Community Ich habe vor Kurzem einen Netbook-Oldie geschenkt bekommen. Beim Start ersch...
windows bootloader bei instalation gelöscht
markus Schneider, 12.09.2016 23:03, 1 Antworten
Hallo alle zusammen, ich habe neben meinem Windows 10 ein SL 7.2 Linux installiert und musste...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] [gelöst]_Thunar
Gerhard Blaschke, 27.09.2016 21:16
Am 27.09.2016 um 19:37 schrieb Karl-Heinz: > Am Tue, 27 Sep 2016 08:48:37 +0200 > schrieb Gerhard Bla...
Re: [EasyLinux-Ubuntu] Thunar
Karl-Heinz, 27.09.2016 19:37
Am Tue, 27 Sep 2016 08:48:37 +0200 schrieb Gerhard Blaschke : Hallo Gerhard, doch das geht. Hier mal ein...
Re: [EasyLinux-Suse] Firefox
Heiko, 27.09.2016 15:46
Am Dienstag, 27. September 2016, 10:46:37 CEST schrieb Horst Schwarz: Hallo, > ich war gezwungen, im Firefo...
Re: [EasyLinux-Ubuntu] Thunar
Gerhard Blaschke, 27.09.2016 08:48
Am 27.09.2016 um 08:21 schrieb Uwe Herrmuth: > Hallo Gerhard, > > Gerhard schrieb am 26.09.2016...
Re: [EasyLinux-Ubuntu] Bildbetrachtungsprogramm (KDE) mir Druckfunktion
Uwe Herrmuth, 27.09.2016 08:22
Hallo Karl-Heinz, Karl-Heinz schrieb am 26.09.2016 um 18:25: > Also ristretto 0.6.3 (Standart Debian Sta...