EMZETT.
Login

Shell-Skripte schreiben

Kurz: Ein Shell-Skript ist eine Textdatei mit Befehlen, die die Shell nacheinander ausführt. So automatisiert man Wiederkehrendes: Sicherungen, Aufräumen, Installationen.

Das erste Skript

#!/usr/bin/env bash
set -euo pipefail          # bei Fehlern abbrechen, undefinierte Variablen melden
 
name="${1:-Welt}"          # erstes Argument oder "Welt"
echo "Hallo, $name!"

Speichern als hallo.sh, ausführbar machen (chmod +x hallo.sh) und starten mit ./hallo.sh Anna.

Bausteine

  • Variablen: ziel="/tmp/test", benutzen mit "$ziel" (immer in Anführungszeichen, wegen Leerzeichen).
  • Bedingungen: if test -f "$datei"; then ... fi. Wichtige Tests: -f Datei, -d Ordner, -z leerer Text.
  • Schleifen: for f in *.txt; do echo "$f"; done.
  • Funktionen: sichern() { cp "$1" "$1.bak"; }.
  • Rückgabewert: $? ist 0 bei Erfolg. Mit && und || verkettet man abhängig davon.

Gute Gewohnheiten

  1. set -euo pipefail an den Anfang.
  2. Variablen immer in Anführungszeichen.
  3. Skripte mit shellcheck prüfen, ein Werkzeug, das typische Fehler findet.
  4. Für mehr als etwa hundert Zeilen oder komplexe Daten lieber Python.

Siehe auch: Bash, grep, sed und awk: Text im Terminal bearbeiten