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

Ideenwettbewerb
G.-P. Möller, 28.05.2016 10:57, 0 Antworten
Liebe User, im Rahmen eines großen Forschungsprojekts am Lehrstuhl für Technologie- und Innova...
Welche Drucker sind Linux-mint kompatibel?
Johannes Nacke, 20.05.2016 07:32, 4 Antworten
Hallo Ihr Lieben, ich bitte um mitteilung welche Drucker Kompatibel sind mit Linux-Mint. LG Joh...
MS LifeCam HD-5000 an Debian
Kay Michael, 13.04.2016 22:55, 0 Antworten
Hallo, ich versuche die oben erwähnte Cam an einem Thin Client mit Debian zu betreiben. Linux...
Import von Evolution nach KMail erzeugt nur leere Ordner
Klaus-Christian Falkner, 06.04.2016 12:57, 3 Antworten
Hallo, da ich vor einiger Zeit von Ubuntu auf Kubuntu umgestiegen bin, würde ich gerne meine E...
Sophos lässt sich nicht unter Lubuntu installieren
Chrstina Turm, 30.03.2016 20:56, 3 Antworten
Hi Leute, habe mir vor paar Tagen auf ein Notebook, das ohne Linux ausgedient hätte, Linux dr...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] OT Werden keine eigenen Emails mehr empfangen von Ubuntu/Suse-Liste
Karl-Heinz, 28.05.2016 09:41
Am Sat, 28 May 2016 07:51:28 +0200 schrieb Oliver : Hallo Oliver, > Das ganze ist unabhängig vom Rechn...
Re: [EasyLinux-Ubuntu] grosses Problem?
Karl-Heinz, 28.05.2016 09:35
Am Sat, 28 May 2016 07:39:36 +0200 schrieb Oliver : Hallo Wolfgang, nur mal so eine Idee: Hast du eine US...
Re: [EasyLinux-Ubuntu] OT Werden keine eigenen Emails mehr empfangen von Ubuntu/Suse-Liste
Willi Zelinka, 28.05.2016 09:34
Hallo Oliver, Am Samstag, 28. Mai 2016, 07:51:28 schrieb Oliver: > Guten Morgen an Alle, > ich beob...
Re: [EasyLinux-Ubuntu] Apple iPhone 4
Karl-Heinz, 28.05.2016 09:33
Am Fri, 27 May 2016 19:03:42 +0200 schrieb alfred : Hallo Alfred, > > ich glaube das geht nur mit I...
[EasyLinux-Ubuntu] grosses Problem?
Wolfgang Tiedemann, 27.05.2016 20:25
Hallo Helferlein, heute nachmittag war im schon mit dem Rechner im Internet unterwegs. Alles lief gut. Habe...