Skript-Aufbau und -Aufruf

Aus Xinux Wiki
Version vom 17. Oktober 2025, 13:26 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „==Grundprinzip== *Ein Shell-Skript ist eine einfache Textdatei, die eine Folge von Shell-Kommandos enthält. *Die Shell liest und interpretiert diese Kommandos…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Grundprinzip

  • Ein Shell-Skript ist eine einfache Textdatei, die eine Folge von Shell-Kommandos enthält.
  • Die Shell liest und interpretiert diese Kommandos zeilenweise.
  • Ein Skript kann interaktiv (vom Terminal) oder automatisch (über Zeit- oder Systemmechanismen) ausgeführt werden.

Aufbau eines Skripts

  • Ein Shell-Skript beginnt immer mit der sogenannten Shebang-Zeile (Interpreter-Zeile):
#!/bin/bash
  • Diese Zeile teilt dem System mit, welche Shell den folgenden Code interpretieren soll.
  • Nachfolgend werden Kommandos, Variablen, Kommentare, Funktionen oder Kontrollstrukturen notiert.
Beispiel
#!/bin/bash
echo "Hallo $USER"
echo "Heute ist $(date +%A)"

Kommentare

  • Kommentare beginnen mit dem Zeichen # und werden von der Shell ignoriert.
  • Kommentare dienen der besseren Lesbarkeit und Dokumentation.
Beispiel
# Dieses Skript gibt den aktuellen Wochentag aus

Dateiattribute

  • Damit ein Skript direkt gestartet werden kann, muss es die Ausführungsrechte besitzen.
chmod +x mein_skript.sh

Aufruf eines Skripts

  • Ein Skript kann auf zwei Arten ausgeführt werden:
  1. Über den Interpreter explizit:
bash mein_skript.sh
  1. Direkt, wenn es ausführbar ist:
./mein_skript.sh

Pfadangabe

  • Wenn das Skript nicht im PATH-Suchpfad liegt, muss der relative oder absolute Pfad angegeben werden.
./skripte/backup.sh
/home/thomas/bin/update.sh

Rückgabewert

  • Nach der Ausführung gibt jedes Skript einen Exit-Status zurück.
  • Der Wert 0 bedeutet in der Regel „erfolgreich“, ungleich 0 steht für einen Fehler.
echo $?

Empfohlene Konventionen

  • Verwende für Skripte die Endung .sh.
  • Jedes Skript sollte eine Kopfzeile mit Zweck, Autor, Datum und Version enthalten.
  • Vermeide absolute Pfade innerhalb von Skripten, wenn es nicht notwendig ist.
  • Teste Skripte zuerst mit bash -n (Syntaxprüfung) oder bash -x (Debugmodus).
Beispielkopf für Schulungsskripte
#!/bin/bash
# Zweck:   Beispiel für Skriptaufbau
# Autor:   Thomas
# Datum:   17.10.2025
# Version: 1.0