So debuggen Sie Linux-Bash-Skripte mit ShellCheck

Effiziente Bash-Skript-Fehlerbehebung mit ShellCheck

Stoßen Sie bei Ihren Bash-Skripten für Linux auf Schwierigkeiten? Anstatt stundenlang in Foren nach Lösungen zu suchen, nutzen Sie ShellCheck, um Ihre Bash-Skripte automatisch zu analysieren und Fehler zu identifizieren.

Installation von ShellCheck

ShellCheck ist ein äußerst praktisches Werkzeug, das jedoch nicht standardmäßig in Linux enthalten ist. Um es nutzen zu können, müssen Sie es zunächst installieren. Diese Anleitung zeigt Ihnen, wie Sie ShellCheck aus verschiedenen offiziellen Softwarequellen beziehen und wie Sie es als generische Binärdatei auf Linux-Systemen zum Laufen bringen.

Öffnen Sie ein Terminal und aktualisieren Sie Ihre Paketliste. Folgen Sie anschließend den Anweisungen für Ihre spezifische Linux-Distribution.

Ubuntu

Da ShellCheck in den offiziellen Ubuntu-Repositories verfügbar ist, ist die Installation unkompliziert. Verwenden Sie den `apt`-Paketmanager im Terminal, um die neueste Version von ShellCheck zu installieren:

sudo apt install shellcheck

Debian

Debian Stable bietet eine ältere Version von ShellCheck an. Beachten Sie, dass diese Version möglicherweise nicht die aktuellste ist.

Hinweis: Für eine aktuellere Version von ShellCheck, folgen Sie unserer Anleitung zur Installation aktueller Software auf Debian-Systemen.

sudo apt-get install shellcheck

Arch Linux

Um ShellCheck unter Arch Linux zu installieren, müssen Sie zuerst das „Community“-Repository aktivieren. Dies erfordert die Bearbeitung der `pacman.conf`-Datei. Öffnen Sie diese Datei mit Nano:

sudo nano /etc/pacman.conf

Navigieren Sie mit den Pfeiltasten zum „Community“-Abschnitt und entfernen Sie alle #-Symbole (ungefähr drei Zeilen). Speichern Sie die Änderungen mit Strg + O.

Nachdem Sie die Änderungen an `pacman.conf` vorgenommen haben, schließen Sie Nano mit Strg + X. Synchronisieren Sie Pacman, um Zugriff auf das „Community“-Repository zu erhalten:

sudo pacman -Syyuu

Installieren Sie anschließend ShellCheck mit folgendem Befehl:

sudo pacman -S shellcheck

Fedora

Um ShellCheck auf Fedora Linux zu installieren, nutzen Sie den `dnf`-Paketmanager:

sudo dnf install ShellCheck

OpenSUSE

Die Installation von ShellCheck unter OpenSUSE ist einfach, da es in den Standard-Softwarequellen enthalten ist. Führen Sie den folgenden Zypper-Befehl im Terminal aus:

sudo zypper install ShellCheck

Generische Linux-Installation

Für Benutzer von weniger verbreiteten Distributionen oder falls die Standardmethoden nicht funktionieren, kann ShellCheck als universelle Binärdatei installiert werden. Diese Methode ist unkompliziert und erfordert keine Anpassung des Quellcodes. Führen Sie die folgenden Schritte aus:

Schritt 1: Definieren Sie die gewünschte ShellCheck-Version als Variable in Ihrer Terminalumgebung:

export scversion="stable" # oder "v0.4.7", oder "latest"

Schritt 2: Laden Sie die Binärdatei mit `wget` herunter:

wget "https://storage.googleapis.com/shellcheck/shellcheck-${scversion}.linux.x86_64.tar.xz"

Schritt 3: Entpacken Sie das TarXZ-Archiv mit dem `tar`-Befehl:

tar --xz -xvf shellcheck-"${scversion}".linux.x86_64.tar.xz

Schritt 4: Installieren Sie ShellCheck mit dem `cp`-Befehl:

cp shellcheck-"${scversion}"/shellcheck /usr/bin/

Skripte mit ShellCheck analysieren

Das Hauptziel von ShellCheck ist die Überprüfung von Skripten (meistens Bash), das Aufdecken von Fehlern und das Anbieten von Verbesserungsvorschlägen. Die grundlegende Nutzung sieht folgendermaßen aus:

Navigieren Sie zunächst im Terminal zu dem Verzeichnis, in dem sich das zu prüfende Skript befindet. In diesem Beispiel liegt unser Skript in `~/shell-scripts`, Ihr Pfad kann abweichen.

cd ~/shell-scripts

Führen Sie den `ls`-Befehl aus, um die Dateien im aktuellen Ordner anzuzeigen.

Hinweis: Wenn sich in Ihrem Verzeichnis viele Dateitypen befinden, können Sie `ls` mit `grep` kombinieren, um nur Skriptdateien anzuzeigen.

ls

Oder verwenden Sie es in Kombination mit grep, um gezielt nach Skriptdateien zu suchen:

ls | grep ".sh"
ls | grep ".bash"

Markieren Sie den Namen einer Skriptdatei aus der `ls`-Ausgabe und führen Sie diese dann mit ShellCheck aus, um Ihren Code zu prüfen.

shellcheck dateiname.sh

oder

shellcheck dateiname.bash

ShellCheck analysiert Ihren Code und zeigt identifizierte Probleme im Terminal an. Lesen Sie die Ausgabe und befolgen Sie die Vorschläge, um Ihre Programmierung zu verbessern.

ShellCheck-Bericht speichern

Die sofortige Ausgabe im Terminal ist zwar nützlich, kann aber verloren gehen, wenn das Terminal geschlossen wird. Um dies zu vermeiden, können Sie die Ausgabe in einer Textdatei speichern. Verwenden Sie dazu den `>>`-Operator:

shellcheck dateiname.sh >> ~/Dokumente/shellcheck-bericht-dateiname.sh

oder

shellcheck dateiname.bash >> ~/Dokumente/shellcheck-bericht-dateiname.bash

Um den gespeicherten Bericht anzuzeigen, verwenden Sie den `cat`-Befehl:

cat ~/Dokumente/shellcheck-bericht-dateiname.sh | more

oder

cat ~/Dokumente/shellcheck-bericht-dateiname.bash | more