Skript-Aufbau und -Aufruf: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 36: Zeile 36:
 
  ./skripte/backup.sh
 
  ./skripte/backup.sh
 
  /home/thomas/bin/update.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==
 
==Empfohlene Konventionen==

Version vom 17. Oktober 2025, 13:27 Uhr

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:
    • Über den Interpreter explizit:
bash mein_skript.sh
    • 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

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