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

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 3 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...
ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] [gelöst]_Bilder_im_Internet_lagern
Gerhard Blaschke, 20.12.2014 23:49
Hallo Karl-Heinz, Am 20.12.2014 um 15:14 schrieb Karl-Heinz: > Am Fri, 19 Dec 2014 20:22:44 +0100 >...
Re: [EasyLinux-Ubuntu] libdvdcss
Heiko Ißleib, 20.12.2014 19:18
Am 20.12.2014, 18:17 Uhr, schrieb Hartmut Haase : Hallo Hartmut, > >> libdvdcss2 >> >...
Re: [EasyLinux-Ubuntu] libdvdcss
Uwe Herrmuth, 20.12.2014 19:02
Hallo Hartmut, Hartmut Haase schrieb am 20.12.2014 um 18:18: > Hallp Uwe, > > Steht hier: >...
Re: [EasyLinux-Ubuntu] libdvdcss
Heiko Ißleib, 20.12.2014 18:52
Am 20.12.2014, 18:11 Uhr, schrieb Uwe Herrmuth : > Hallo Heiko, > > Heiko Ißleib schrieb am 20.1...
Re: [EasyLinux-Ubuntu] libdvdcss
Hartmut Haase, 20.12.2014 18:18
Hallp Uwe, > Steht hier: > schon, aber die Adressen von deb http://download.videolan.org/pub/de...