IRC Security

Bash Scripting Tutorial Deutsch

Date: []

Ein deutsches Bash-Scripting Tutorial/Workshop (deutsch)

Wer mit Linux arbeitet wird an Bash-Scripts kaum vorbei kommen, dennoch machen sich nur wenige die Mühe es auch zu erlernen.

Nachdem ich nun einen kleinen Artikel zur Erweiterung des Nautilus-File-Commander geschrieben habe, ist mir aufgefallen, wie sinnvoll ein kleines Tutorial sein könnte.

Die Themenübersicht:

  1. Einführung in Linux und die Bash-Shell
  2. Grundlagen der Bash-Programmierung
    Einführung in die Befehlszeile
  3. Grundlegende Befehle und Navigation
    Arbeiten mit Dateien und Verzeichnissen
  4. Dateien erstellen, lesen und bearbeiten
  5. Navigation in Verzeichnissen
  6. Bash-Skripte erstellen
  7. Grundstruktur eines Bash-Skripts
  8. Ausführbare Skripte schreiben
  9. Variablen und Datenfluss
  10. Variablentypen und -deklaration
  11. Daten lesen und schreiben
  12. Kontrollstrukturen
  13. Bedingungen und Entscheidungen
  14. Schleifenkonstrukte
  15. Funktionen und Modularität
  16. Funktionen definieren und nutzen
  17. Skripte modular aufbauen
  18. Fehlerbehandlung und Debugging
  19. Fehlerquellen identifizieren
  20. Skripte effektiv debuggen
  21. Fortgeschrittene Themen
  22. Regular Expressions
  23. Scripting für Systemverwaltung
    Nützliche Tools und Ressourcen

1. Einführung in Linux und die Bash-Shell

Linux ist ein weit verbreitetes Betriebssystem, das für seine Stabilität, Sicherheit und Flexibilität bekannt ist.
Die Bash-Shell ist eine der häufigsten Shells unter Linux und ermöglicht die Interaktion mit dem Betriebssystem über eine Befehlszeilenschnittstelle.

2. Grundlagen der Bash-Programmierung

Einführung in die Befehlszeile

Ich zeige dir, wie Du die Befehlszeile benutzt, ein essentielles Werkzeug unter Linux. Du lernst, wie du Befehle eingibst, um mit deinem System zu interagieren.

Grundlegende Befehle und Navigation

Lerne die grundlegenden Befehle kennen:

pwd: Zeigt dein aktuelles Verzeichnis.
ls: Listet Dateien und Verzeichnisse auf.
cd: Ändert das Verzeichnis.
touch: Erstellt eine neue Datei.
mkdir: Erstellt ein neues Verzeichnis.

3. Arbeiten mit Dateien und Verzeichnissen

4. Bash-Skripte erstellen

Grundstruktur eines Bash-Skripts

Jedes Bash-Skript beginnt mit #!/bin/bash__. Diese Zeile ist entscheidend, da sie angibt, welcher Interpreter verwendet werden soll.

*Bash-Skript erstellen
Öffne ein Terminal: Starte Dein Terminal in Linux.
*Erstelle eine neue Datei: Verwende den Befehl touch, um eine neue Skriptdatei zu erstellen.
Zum Beispiel:
touch mein_skript.sh.
Bearbeite die Datei: Öffne die Datei in einem Texteditor. Du kannst einen einfachen Editor wie nano verwenden:
nano mein_skript.sh .

Bash-Skript schreiben
Im Editor fügst Du den folgenden Code ein:

!/bin/bash

Eine einfache Funktion definieren

gib_aus() {
echo "Hallo, ich bin eine Funktion!"
}

Die Funktion aufrufen

gib_aus

Eine einfache Ausgabe

echo "Das ist mein erstes Bash-Skript!"


In diesem Beispiel haben wir sofort mit einer Funktion gestartet.
Bash-Skript speichern und schließen
Speichere das Skript in nano durch Drücken von Ctrl+O, dann Enter.
Verlasse den Editor mit Ctrl+X.

Ausführbare Skripte schreiben

Du lernst, wie du ein Skript schreibst und es ausführbar machst, um es direkt aus der Befehlszeile zu starten.
Damit Du das Skript ausführen kannst, musst Du es ausführbar machen:

Führe den Befehl chmod +x mein_skript.sh aus.

Bash-Skript ausführen

Führe das Skript aus mit ./mein_skript.sh.

Was passiert im Skript?

#!/bin/bash: Dies ist die Shebang-Zeile, die angibt, dass dieses Skript mit Bash ausgeführt werden soll.
gib_aus() { ... }: Hier definierst Du eine Funktion namens gib_aus, die eine Nachricht ausgibt.
gib_aus: Du rufst die Funktion gib_aus auf.
echo "Das ist mein erstes Bash-Skript!": Mit echo gibst Du eine Nachricht auf dem Bildschirm aus.
*Dieses Skript zeigt Dir die Grundlagen der Skripterstellung, der Funktionsdefinition und -aufrufe sowie der Ausgabe von Text in der Bash. Experimentiere gerne mit dem Code, um weitere Funktionen und Befehle hinzuzufügen!

Achte jedoch vorher auf ein Backup, falls Du aus versehen Daten löscht oder veränderst.

5. Variablen und Datenfluss

Variablentypen und -deklaration

In Bash kannst Du verschiedene Arten von Variablen verwenden. Ich erkläre Dir, wie Du sie deklarierst und zuweisst. Zum Beispiel: meine_variable="Hallo Welt".

Tutorial: Umgang mit Variablen in Bash

In diesem Teil des Tutorials konzentrieren wir uns darauf, wie Du in Bash Variablen speichern, deklarieren und auslesen kannst. Variablen sind grundlegend für das Schreiben von effektiven Skripten, da sie es Dir ermöglichen, Werte zu speichern und zu manipulieren.

Variablen Deklarieren und Zuweisen

Hier hast Du eine Variable namens meine_variable erstellt und ihr den Wert "Hallo Welt" zugewiesen.

Variablennamen

Variablen Auslesen

echo $meine_variable

Dies wird "Hallo Welt" auf der Konsole ausgeben.

Arbeiten mit Variablen

Variablen in Text einbetten

Du kannst Variablen auch in Strings einbetten.
Wenn Du doppelte Anführungszeichen verwendest, wird der Wert der Variablen in den String eingefügt:

echo "Die Nachricht lautet: $meine_variable"

ariablen in Berechnungen verwenden

Für numerische Berechnungen verwendest Du das $(( ))-Konstrukt. Zum Beispiel:

a=5
b=3
summe=$((a + b))
echo "Die Summe ist $summe"

Dies wird "Die Summe ist 8" ausgeben.

Umgebungsvariablen

Umgebungsvariablen: Bash hat auch Umgebungsvariablen, die systemweit verfügbar sind. Zum Beispiel gibt echo $HOME den Pfad zu Deinem Home-Verzeichnis aus.

Eigene Umgebungsvariablen setzen: Du kannst eigene Umgebungsvariablen mit export setzen, zum Beispiel:

export MEINE_VAR="Ein Wert"

Diese Variable ist dann in allen untergeordneten Shell-Sitzungen verfügbar.

Variablen und Anführungszeichen

Doppelte Anführungszeichen

Wenn Du doppelte Anführungszeichen verwendest, werden Variablen und bestimmte Sonderzeichen wie \n (für einen Zeilenumbruch) interpretiert.

Einfache Anführungszeichen

Verwendest Du einfache Anführungszeichen, wird der Text genau so ausgegeben, wie er geschrieben ist.
Variablen werden nicht interpretiert.

echo 'Meine Variable: $meine_variable'

Dies wird genau so ausgegeben, ohne den Wert von meine_variable zu ersetzen.

Tipps um Anfängerfehler zu vermeiden

Namen großschreiben

Es ist eine gängige Konvention, Umgebungsvariablen in Großbuchstaben zu schreiben, um sie von lokalen Variablen zu unterscheiden.

Vorsicht mit Leerzeichen

Stelle sicher, dass Du keine Leerzeichen um das Gleichheitszeichen bei der Variablendeklaration setzt.
__Mit diesem Wissen bist Du gut gerüstet, um Variablen in Deinen Bash-Skripten effektiv einzusetzen!

Daten lesen und schreiben

Hier lernst Du, wie Du Daten in Variablen speicherst und sie wieder ausliest. Dies ist besonders nützlich, wenn Du Informationen in Deinem Skript verarbeiten möchtest.

Kontrollstrukturen

Schleifenkonstrukte

Schleifen sind essentiell, um wiederholte Aufgaben zu automatisieren. Ich zeige Dir, wie Du for- und while-Schleifen in Deinen Skripten einsetzt.

7. Funktionen und Modularität

Funktionen definieren und nutzen

Funktionen helfen Dir, Deinen Code effizienter und lesbarer zu gestalten. Du lernst, wie Du eigene Funktionen definierst und aufrufst.

Skripte modular aufbauen

Ich erkläre Dir, wie Du Deine Skripte in Module unterteilst, um sie wiederverwendbar und übersichtlich zu gestalten.

8. Fehlerbehandlung und Debugging

Fehlerquellen identifizieren

Fehler passieren, aber keine Sorge! Ich zeige Dir, wie Du gängige Fehlerquellen erkennst und behebst.

Skripte effektiv debuggen

Du lernst Techniken, um Deine Skripte zu debuggen und Fehler schnell zu finden und zu beheben.

9. Fortgeschrittene Themen

Regular Expressions

Regular Expressions (RegEx) sind ein mächtiges Werkzeug zur Textverarbeitung. Ich führe Dich in die Grundlagen ein und zeige Dir, wie Du sie in Bash verwendest.

Scripting für Systemverwaltung

Bash-Skripte sind ideal für Systemverwaltungsaufgaben. Du lernst fortgeschrittene Techniken, um Dein System effektiv zu verwalten.

10. Nützliche Tools und Ressourcen

Externe Tools und Hilfsprogramme

Es gibt viele Tools, die Dir das Leben als Bash-Programmierer erleichtern. Ich stelle Dir einige der besten vor.