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

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...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...
Öhm - wozu Benutzername, wenn man dann hier mit Klarnamen angezeigt wird?
Thomas Kallay, 03.07.2014 20:30, 1 Antworten
Hallo Team von Linux-Community, kleine Zwischenfrage: warum muß man beim Registrieren einen Us...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] Evolution:_SMTP-Paßwort_zurücksetzen
Richard Kraut, 02.09.2014 19:22
Am Dienstag, den 02.09.2014, 10:21 +0200 schrieb Heinz-Stefan Neumeyer: > Bei irgend einem Anbeiter (Hotma...
Re: [EasyLinux-Ubuntu] Evolution:_SMTP-Paßwort_zurücksetzen
Richard Kraut, 02.09.2014 19:17
Am Montag, den 01.09.2014, 20:22 +0200 schrieb Richard Kraut: > Na. Da bin ich jetzt aber mal gespannt....
Re: [EasyLinux-Ubuntu] Evolution_und_die_zerstörten_Verzeichnisse/Pfade_in_einem_Maildir
Heinz-Stefan Neumeyer, 02.09.2014 17:02
Am Dienstag, den 02.09.2014, 16:31 +0200 schrieb Gerhard Blaschke: Hallo Gerhard > > > was ist...
Re: [EasyLinux-Ubuntu] Evolution_und_die_zerstörten_Verzeichnisse/Pfade_in_einem_Maildir
Gerhard Blaschke, 02.09.2014 16:31
Hallo, Am 02.09.2014 16:05, schrieb Heinz-Stefan Neumeyer: > Hallo an alle Mitleser, > > mome...
[EasyLinux-Ubuntu] Evolution_und_die_zerstörten_Verzeichnisse/Pfade_in_einem_Maildir
Heinz-Stefan Neumeyer, 02.09.2014 16:05
Hallo an alle Mitleser, momentan habe ich etwas Muße mich einer Sache anzunehmen, die mich schonlänger umtre...