ShellCheck hilft beim Schreiben handwerklich sauberer Shell-Skripte

Avatar von Christoph Langner

3 Min. Lesezeit

ShellCheck prüft Shell-Skripte auf Fehler und schlechten Stil – im Terminal oder direkt im Browser.

Christoph Langner, CC0

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-Stil in seiner Ausgabe farbiert markiert an. Die Beschreibung hinter den Report-Codes (SC2046, SC2086 etc.) gibt euch einen ersten Eindruck davon, 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.

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, woraufhin 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.

Ähnliche Beiträge

5 Kommentare zu „ShellCheck hilft beim Schreiben handwerklich sauberer Shell-Skripte“

  1. Avatar von Heiko

    Ich hab das Ding mal über mein Build-Script laufen lassen. Schwerer Fehler meinerseits 😉

    1. Avatar von Christoph Langner

      Bin auch nicht besser 😉

  2. Avatar von grossmaggul

    Ich trau mich nicht.;-D

  3. Avatar von Ohli

    Ich hab das direkt als Vim-Plugin drin, siehe syntastic (https://github.com/scrooloose/syntastic). So passt das richtig gut in den Workflow.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Markdown wird unterstützt: **fett**, _kursiv_, [Linktext](URL), `Code`, Zeilen mit - für Listen, 1. für nummerierte Listen, dreifache Backticks für Codeblöcke.

Sicherheitsabfrage: Welches Logo ist das? Beschreibung des Logos: Grüner Kreis mit den Buchstaben l und m.

Linux und Ich — ShellCheck hilft beim Schreiben handwerklich sauberer Shell-Skripte
https://linuxundich.de/shellcheck-hilft-beim-schreiben-handwerklich-sauberer-shell-skripte/ — gedruckt am 4. Oktober 2026