Früher oder später wird man als Linux-User sein erstes kleines Shell-Skript schreiben. Nicht, weil man unter Linux nicht ohne Kommandos, die Shell oder gar eigens „programmierte“ Skripte auskommen würde, sondern weil man dies freiwillig tut, da sich mithilfe von einfachen Bash-Skripten die eine oder andere Aufgabe deutlich beschleunigen lässt. Als Einsteiger bastelt man so lange vor sich hin, bis das Skript funktioniert und seine Aufgabe erledigt. Doch in der Regel macht man dabei eine Reihe von Fehlern, die nicht unmittelbar auffallen, ShellCheck hilft diese aufzudecken und euren „Programmierstil“ zu verbessern.

ShellCheck gibt es unter shellcheck.net im Netz und auch in der Paketverwaltung, der meisten Linux-Distributionen. Unter Debian/Ubuntu, wie auch unter Arch Linux lässt sich das Programm direkt mit einem Kommando einspielen. Anschließend könnt ihr das kleine Programm direkt auf euer Skript loslassen. Solltet ihr auf einem System arbeiten, auf dem sich keine weiteren Programme installieren lassen oder wo euch dazu die nötigen Rechte fehlen, könnt ihr auf die webbasierte Variante zurückgreifen. Am Ende zeigen diese immer dasselbe Ergebnis an.

### ShellCheck unter Debian/Ubuntu installieren...
$ sudo apt install shellcheck

### ShellCheck unter Arch Linux installieren...
$ sudo pacman -S shellcheck

### Die Hilfe zu ShellCheck...
$ shellcheck --help
unrecognized option `--help'

Usage: shellcheck [OPTIONS...] FILES...
  -e CODE1,CODE2..  --exclude=CODE1,CODE2..  exclude types of warnings
  -f FORMAT         --format=FORMAT          output format
  -C[WHEN]          --color[=WHEN]           Use color (auto, always, never)
  -s SHELLNAME      --shell=SHELLNAME        Specify dialect (sh,bash,dash,ksh)
  -x                --external-sources       Allow 'source' outside of FILES.
  -V                --version                Print version information

Im Terminal zeigt ShellCheck die Hinweise auf schlechten Skript-Still in seiner Ausgabe farbiert markiert an. Die Beschreibung hinter dem Report-Codes (SC2046, SC2086 etc.) gibt euch einen ersten Eindruck, von dem was ihr falsch macht. Für weiterführende Details gebt ihr den Code in die Suchfunktion des ShellCheck-Wiki ein. Dort erklärt ShellCheck genauer, was ihr warum falsch macht, zudem gibt es dort Beispiele, wie man die angemahnte Stelle besser gestalten sollte.

Das Programm lässt sich in den meisten Distributionen aus der Paketverwaltung installieren.
Das Programm lässt sich in den meisten Distributionen aus der Paketverwaltung installieren.

Alternativ kopiert ihr euren Code in die webbasierte Version von ShellCheck. Dies macht zwar ein wenig Arbeit, dafür könnt ihr die Report-Codes direkt anklicken, wohin euch der Browser direkt auf die Wiki-Seite führt. Diese Variante ist also besonders dann sinnvoll, wenn ihr ein längeres Skript mit vielen Fehlern überprüfen wollt. So erspart man sich das hin- und herkopieren der Fehlercodes zwischen Terminal und Browser.

ShellCheck hilft beim Schreiben sauberer Shell-Skripte ohne problematische Ausdrücke.
ShellCheck hilft beim Schreiben sauberer Shell-Skripte ohne problematische Ausdrücke.
In der Webversion von ShellCheck lassen sich Hinweise zu den problematischen Stellen aufrufen.
In der Webversion von ShellCheck lassen sich Hinweise zu den problematischen Stellen aufrufen.
Vorheriger ArtikelZeitbombe Abmahnung bei der Verwendung von Creative Commons (Skley, Schroeder, VSGE)
Nächster ArtikelRaspberry Pi Geek Spezial zu FHEM und RasPi als Smart-Home-Zentrale — Verlosung inside
Hallo, ich bin Christoph - Linux-User, Blogger und pragmatischer Fan freier Software. Wie ihr ohne Zweifel bemerkt haben solltet, schreibe ich hier über Linux im Allgemeinen, Ubuntu im Speziellen sowie Android und andere Internet-Themen. Wenn du Freude an meinen Artikel gefunden haben solltest, dann kannst du mir über Facebook, Twitter oder natürlich dem Blog folgen.

5 Kommentare

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein