CodeGym /Kurse /Docker SELF /Einführung in Bash-Skripte: Syntax, Variablen, Befehle

Einführung in Bash-Skripte: Syntax, Variablen, Befehle

Docker SELF
Level 3 , Lektion 3
Verfügbar

Einführung in Bash-Skripte: Syntax, Variablen, Befehle

1. Was sind Bash-Skripte?

Falls du dich jemals gefragt hast: "Warum muss ich immer und immer wieder dieselben Befehle eingeben?", dann Glückwunsch, du bist bereit für Bash-Skripte! Bash-Skripte sind eine Möglichkeit, die Arbeit in Linux zu automatisieren, indem man eine Reihe von Befehlen in eine Datei schreibt. Bash (Bourne Again Shell) ist nicht einfach nur eine Shell – es ist das Schweizer Taschenmesser für Admins, Programmierer und alle, die das System für sich arbeiten lassen möchten.

Vorteile von Bash-Skripten

  • Zeitersparnis: Einmal geschrieben – achtmal ausgeführt.
  • Wiederholbarkeit von Aufgaben: Skripte werden jedes Mal auf die gleiche Weise ausgeführt (naja, vorausgesetzt, du hast alles richtig geschrieben).
  • Automatisierung der Routine: Erstelle angepasste Befehle für Backups, Ressourcenüberwachung oder Dateiverwaltung.

2. Grundlagen der Skripterstellung

Also, lass uns loslegen. Ein Bash-Skript ist einfach nur eine Textdatei mit einer Ansammlung von Befehlen. Aber damit Linux versteht, dass es sich um ein Skript handelt und nicht um zufällige Tagebucheinträge, muss man bestimmte Regeln einhalten.

Schritt 1: Dateiname und -format

Bash-Skripte haben normalerweise die Endung .sh (obwohl das nicht zwingend erforderlich ist). Zum Beispiel:

hello_world.sh
backup_script.sh

Schritt 2: Obligatorischer Kopf

Jedes Bash-Skript beginnt mit der Zeile:

#!/bin/bash

Diese Zeile wird Shebang genannt und teilt dem System mit, dass der Interpreter /bin/bash verwendet werden soll, um das Skript auszuführen. Ohne diese Zeile würde das System dein Skript nur anschauen, traurig seufzen und nichts machen.

Schritt 3: Einfachstes Skript

Lass uns ein Skript erstellen und ausführen, das den Text "Hallo, Welt!" ausgibt. Warum nicht, oder?

  1. Datei erstellen:

    nano hello_world.sh
    
  2. Zeilen hinzufügen:

    #!/bin/bash
    echo "Hallo, Welt!"
  3. Datei ausführbar machen:

    chmod +x hello_world.sh
    
  4. Skript ausführen:

    ./hello_world.sh
    

Auf dem Bildschirm wirst du sehen:

Hallo, Welt!

3. Arbeit mit Variablen

Variablen sind Speicher für Daten in deinem Skript. Sie machen Skripte flexibel und bequem.

Variablen erstellen

Um eine Variable zu deklarieren, verwende das Format:

VARIABLE_NAME="Wert"

Beispiel:

NAME="Linux"
echo "Willkommen bei $NAME!"

Ausgabe:

Willkommen bei Linux!

Achtung: Zwischen dem Variablennamen und dem =-Zeichen dürfen keine Leerzeichen stehen. Wenn du welche einfügst, denkt Bash, dass du etwas Seltsames eintippen möchtest, und gibt einen Fehler aus.

Eingebaute Variablen

Bash bietet einige vordefinierte Variablen, zum Beispiel:

  • $USER — aktueller Benutzer.
  • $HOME — Home-Verzeichnis.
  • $PWD — aktuelles Arbeitsverzeichnis.

Probiere folgendes Skript aus:

#!/bin/bash
echo "Hallo, $USER!"
echo "Dein Home-Verzeichnis: $HOME"
echo "Du arbeitest gerade hier: $PWD"

4. Daten vom Benutzer erhalten

Manchmal muss ein Skript Daten vom Benutzer erhalten, um zu funktionieren. Dafür wird der Befehl read verwendet.

Beispiel:

#!/bin/bash
echo "Wie heißt du?"
read NAME
echo "Hallo, $NAME!"

Wenn du das Skript ausführst, kannst du deinen Namen eingeben, und das Skript wird dich persönlich begrüßen.


5. Verwendung von Befehlen in einem Skript

Bash erlaubt es dir, Befehle so auszuführen, als würdest du sie direkt im Terminal eingeben.

Zum Beispiel:

#!/bin/bash
echo "Aktuelles Datum und Uhrzeit:"
date

Der Befehl date gibt das aktuelle Datum und die Uhrzeit aus, zum Beispiel:

Aktuelles Datum und Uhrzeit:
Mon Oct 30 12:34:56 UTC 2023

Speichern des Befehlsausgabes in einer Variable

Du kannst die Ausgabe eines Befehls mit $() in einer Variable speichern. Das ist praktisch für die Weiterverarbeitung von Daten.

Beispiel:

#!/bin/bash
CURRENT_DATE=$(date)
echo "Es ist jetzt: $CURRENT_DATE"

6. Kommentare in Skripten

Schreibe immer Kommentare, damit du in einem Monat verstehst, was du überhaupt geschrieben hast. Nutze das Zeichen # für Kommentare:

#!/bin/bash
# Das ist ein Begrüßungsskript
echo "Willkommen in der Welt von Bash!"

Kommentare werden vom Interpreter ignoriert und beeinflussen die Ausführung nicht.


7. Beispiel

Jetzt schreiben wir ein Skript, das überprüft, ob eine Datei existiert.

  1. Datei erstellen:

    nano file_checker.sh
    
  2. Code hinzufügen:

    #!/bin/bash
    
    # Dateiname abfragen
    echo "Gib den Dateinamen ein:"
    read FILE_NAME
    
    # Überprüfen, ob die Datei existiert
    if [ -f "$FILE_NAME" ]; then
        echo "Die Datei $FILE_NAME existiert."
    else
        echo "Die Datei $FILE_NAME wurde nicht gefunden."
    fi
  3. Datei ausführbar machen und ausführen:

    chmod +x file_checker.sh
    ./file_checker.sh
    
  4. Beispielausgabe des Skripts:

    Gib den Dateinamen ein:
    test.txt
    Die Datei test.txt existiert.
    

8. Typische Fehler

Die Arbeit mit Bash-Skripten bringt nicht nur Freude, sondern manchmal auch echt harte Kopfnüsse. Hier sind ein paar häufige Fehler:

  1. Shebang vergessen.
    Ohne die Zeile #!/bin/bash könnte dein Skript versuchen, in einem anderen Interpreter ausgeführt zu werden, was zu Fehlern führt.

  2. Undefinierte Variablen.
    Wenn du dich im Variablennamen vertippst, behandelt Bash sie als leer. Schalte die strikte Prüfung mit set -u am Anfang des Skripts ein.

  3. Leerzeichen um =.
    Schreib niemals so: VARIABLE = "value". Das führt zu einem Fehler.

  4. Berechtigungsprobleme.
    Wenn das Skript keine Ausführungsrechte hat, füge sie mit chmod +x hinzu.

Praktische Übung

  1. Schreibe ein Skript, das:

    • Den Namen des Benutzers abfragt.
    • Eine Begrüßung ausgibt.
    • Das aktuelle Datum und die Uhrzeit anzeigt.
  2. Schreibe ein Skript, das:

    • Den Namen einer Datei vom Benutzer abfragt.
    • Eine Datei erstellt, falls sie nicht existiert, oder meldet, dass die Datei bereits vorhanden ist.

Jetzt kennst du die Grundlagen von Bash-Skripten! Jetzt fehlen nur noch Bedingungen und Schleifen, aber das ist Stoff der nächsten Vorlesung. Auf zur Automatisierung der Welt!

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION