Workshop wiki · German

Shell Scripting Übungen: Grundlagen (DE)

Diese Übungen vertiefen Syntax, Ausführung, Quoting, Exit Codes, Dateien und erste sichere Skripte. Jede Aufgabe verlangt ein reproduzierbares Ergebnis, keine Beschreibung ohne Prüfung.

Workshop examples as ZIP files
Learning progress in the web app

Mark chapters as read, view reading progress and check off practice modules after enabling the optional web app. Workshop progress is calculated from chapters across all document pages. Your choices stay on this device; there is no account or server sync. Installation is not required. Withdrawing your choice in Privacy settings deletes the progress.

Reading progress0%
0%
0 / 5 chapters read
Other language versionEnglish ↗Greek ↗

Shell Scripting Übungen: Grundlagen (DE)

Diese Übungen vertiefen Syntax, Ausführung, Quoting, Exit Codes, Dateien und erste sichere Skripte. Jede Aufgabe verlangt ein reproduzierbares Ergebnis, keine Beschreibung ohne Prüfung.

Abgabeformat

  • Skript oder Patch
  • verwendete Testdaten
  • ausgeführte Kommandos
  • Exit Codes
  • kurze Risiko- und Recovery-Notiz
01 / 05

Aufgaben

Aufgabe 01: Quoting

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Quoting.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 02: Exit Codes

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Exit Codes.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 03: Pipelines

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Pipelines.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 04: getopts

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt getopts.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 05: trap

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt trap.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 06: mktemp

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt mktemp.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 07: Textverarbeitung

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Textverarbeitung.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 08: Security

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Security.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 09: Quoting

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Quoting.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 10: Exit Codes

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Exit Codes.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 11: Pipelines

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Pipelines.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 12: getopts

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt getopts.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 13: trap

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt trap.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 14: mktemp

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt mktemp.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 15: Textverarbeitung

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Textverarbeitung.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 16: Security

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Security.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 17: Quoting

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Quoting.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 18: Exit Codes

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Exit Codes.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 19: Pipelines

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Pipelines.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 20: getopts

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt getopts.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 21: trap

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt trap.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 22: mktemp

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt mktemp.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 23: Textverarbeitung

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Textverarbeitung.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 24: Security

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Security.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 25: Quoting

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Quoting.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 26: Exit Codes

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Exit Codes.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 27: Pipelines

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Pipelines.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 28: getopts

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt getopts.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 29: trap

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt trap.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 30: mktemp

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt mktemp.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 31: Textverarbeitung

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Textverarbeitung.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 32: Security

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Security.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 33: Quoting

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Quoting.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 34: Exit Codes

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Exit Codes.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 35: Pipelines

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt Pipelines.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"

Aufgabe 36: getopts

Baue ein kleines Skript oder verbessere ein vorhandenes Beispiel mit Schwerpunkt getopts.

Anforderungen:

  • bash -n muss erfolgreich sein.
  • Ungültige Eingaben müssen einen erklärbaren Exit Code liefern.
  • Ausgabe für Menschen und Maschinen muss getrennt sein.
  • Das Skript darf keine produktiven Pfade oder Secrets verwenden.

Nachweis:

bash
bash -n script.sh
./script.sh --help
./script.sh --dry-run
echo "$?"
02 / 05

Lösungshinweise

Nutze kleine Funktionen, konsequentes Quoting und eine klare usage-Funktion. Schreibe zuerst den Fehlerfall auf, dann den Happy Path. Bei destruktiven Operationen ist Dry-Run Pflicht.

03 / 05

Review-Checkliste für Übungen Grundlagen

  • 01. Shebang und Ziel-Shell eindeutig benennen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 02. alle Variablenzugriffe quoten, außer Wortaufspaltung ist bewusst nötig: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 03. Eingaben validieren, bevor sie Dateinamen, Optionen oder Kommandos beeinflussen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 04. Exit Codes explizit auswerten und dokumentieren: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 05. stderr und stdout trennen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 06. temporäre Dateien mit mktemp erzeugen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 07. Cleanup über trap testen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 08. destruktive Operationen mit Dry-Run, Scope-Prüfung und Bestätigung absichern: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 09. Secrets nie ausgeben oder committen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 10. PATH und externe Abhängigkeiten prüfen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 11. ShellCheck-Warnungen behandeln oder begründet unterdrücken: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 12. Portabilitätsannahmen zwischen Bash und POSIX sh dokumentieren: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 13. Shebang und Ziel-Shell eindeutig benennen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 14. alle Variablenzugriffe quoten, außer Wortaufspaltung ist bewusst nötig: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 15. Eingaben validieren, bevor sie Dateinamen, Optionen oder Kommandos beeinflussen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 16. Exit Codes explizit auswerten und dokumentieren: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 17. stderr und stdout trennen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 18. temporäre Dateien mit mktemp erzeugen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 19. Cleanup über trap testen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 20. destruktive Operationen mit Dry-Run, Scope-Prüfung und Bestätigung absichern: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 21. Secrets nie ausgeben oder committen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 22. PATH und externe Abhängigkeiten prüfen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 23. ShellCheck-Warnungen behandeln oder begründet unterdrücken: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 24. Portabilitätsannahmen zwischen Bash und POSIX sh dokumentieren: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 25. Shebang und Ziel-Shell eindeutig benennen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 26. alle Variablenzugriffe quoten, außer Wortaufspaltung ist bewusst nötig: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 27. Eingaben validieren, bevor sie Dateinamen, Optionen oder Kommandos beeinflussen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 28. Exit Codes explizit auswerten und dokumentieren: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 29. stderr und stdout trennen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 30. temporäre Dateien mit mktemp erzeugen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 31. Cleanup über trap testen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 32. destruktive Operationen mit Dry-Run, Scope-Prüfung und Bestätigung absichern: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 33. Secrets nie ausgeben oder committen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 34. PATH und externe Abhängigkeiten prüfen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 35. ShellCheck-Warnungen behandeln oder begründet unterdrücken: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 36. Portabilitätsannahmen zwischen Bash und POSIX sh dokumentieren: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 37. Shebang und Ziel-Shell eindeutig benennen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 38. alle Variablenzugriffe quoten, außer Wortaufspaltung ist bewusst nötig: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 39. Eingaben validieren, bevor sie Dateinamen, Optionen oder Kommandos beeinflussen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 40. Exit Codes explizit auswerten und dokumentieren: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 41. stderr und stdout trennen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 42. temporäre Dateien mit mktemp erzeugen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 43. Cleanup über trap testen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 44. destruktive Operationen mit Dry-Run, Scope-Prüfung und Bestätigung absichern: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 45. Secrets nie ausgeben oder committen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 46. PATH und externe Abhängigkeiten prüfen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 47. ShellCheck-Warnungen behandeln oder begründet unterdrücken: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 48. Portabilitätsannahmen zwischen Bash und POSIX sh dokumentieren: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 49. Shebang und Ziel-Shell eindeutig benennen: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
  • 50. alle Variablenzugriffe quoten, außer Wortaufspaltung ist bewusst nötig: Lege fest, welche Datei, welches Kommando, welcher Exit Code und welches Risiko betroffen sind.
04 / 05

Praxisanhang: Übungen Grundlagen

Dieser Anhang ist ein Arbeitsvorrat für längere Trainings, Reviews und Wiederholungen. Jede Aufgabe lässt sich lokal mit Bash, Testdaten und einem Git-Repository prüfen.

A001. Quoting

  • Arbeitsauftrag: Eingabe validieren und beziehe die Beobachtung ausdrücklich auf Quoting.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A002. Exit Codes

  • Arbeitsauftrag: Exit Code erklären und beziehe die Beobachtung ausdrücklich auf Exit Codes.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A003. Pipelines

  • Arbeitsauftrag: Quoting prüfen und beziehe die Beobachtung ausdrücklich auf Pipelines.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A004. getopts

  • Arbeitsauftrag: Fehlerpfad testen und beziehe die Beobachtung ausdrücklich auf getopts.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A005. trap

  • Arbeitsauftrag: Logausgabe bewerten und beziehe die Beobachtung ausdrücklich auf trap.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A006. mktemp

  • Arbeitsauftrag: Cleanup nachvollziehen und beziehe die Beobachtung ausdrücklich auf mktemp.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A007. Textverarbeitung

  • Arbeitsauftrag: Portabilität abgrenzen und beziehe die Beobachtung ausdrücklich auf Textverarbeitung.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A008. Security

  • Arbeitsauftrag: Security-Risiko markieren und beziehe die Beobachtung ausdrücklich auf Security.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A009. Quoting

  • Arbeitsauftrag: Recovery-Pfad dokumentieren und beziehe die Beobachtung ausdrücklich auf Quoting.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A010. Exit Codes

  • Arbeitsauftrag: Review-Regel formulieren und beziehe die Beobachtung ausdrücklich auf Exit Codes.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A011. Pipelines

  • Arbeitsauftrag: Eingabe validieren und beziehe die Beobachtung ausdrücklich auf Pipelines.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A012. getopts

  • Arbeitsauftrag: Exit Code erklären und beziehe die Beobachtung ausdrücklich auf getopts.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A013. trap

  • Arbeitsauftrag: Quoting prüfen und beziehe die Beobachtung ausdrücklich auf trap.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A014. mktemp

  • Arbeitsauftrag: Fehlerpfad testen und beziehe die Beobachtung ausdrücklich auf mktemp.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A015. Textverarbeitung

  • Arbeitsauftrag: Logausgabe bewerten und beziehe die Beobachtung ausdrücklich auf Textverarbeitung.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A016. Security

  • Arbeitsauftrag: Cleanup nachvollziehen und beziehe die Beobachtung ausdrücklich auf Security.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A017. Quoting

  • Arbeitsauftrag: Portabilität abgrenzen und beziehe die Beobachtung ausdrücklich auf Quoting.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A018. Exit Codes

  • Arbeitsauftrag: Security-Risiko markieren und beziehe die Beobachtung ausdrücklich auf Exit Codes.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A019. Pipelines

  • Arbeitsauftrag: Recovery-Pfad dokumentieren und beziehe die Beobachtung ausdrücklich auf Pipelines.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A020. getopts

  • Arbeitsauftrag: Review-Regel formulieren und beziehe die Beobachtung ausdrücklich auf getopts.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A021. trap

  • Arbeitsauftrag: Eingabe validieren und beziehe die Beobachtung ausdrücklich auf trap.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A022. mktemp

  • Arbeitsauftrag: Exit Code erklären und beziehe die Beobachtung ausdrücklich auf mktemp.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A023. Textverarbeitung

  • Arbeitsauftrag: Quoting prüfen und beziehe die Beobachtung ausdrücklich auf Textverarbeitung.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A024. Security

  • Arbeitsauftrag: Fehlerpfad testen und beziehe die Beobachtung ausdrücklich auf Security.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A025. Quoting

  • Arbeitsauftrag: Logausgabe bewerten und beziehe die Beobachtung ausdrücklich auf Quoting.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A026. Exit Codes

  • Arbeitsauftrag: Cleanup nachvollziehen und beziehe die Beobachtung ausdrücklich auf Exit Codes.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A027. Pipelines

  • Arbeitsauftrag: Portabilität abgrenzen und beziehe die Beobachtung ausdrücklich auf Pipelines.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A028. getopts

  • Arbeitsauftrag: Security-Risiko markieren und beziehe die Beobachtung ausdrücklich auf getopts.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A029. trap

  • Arbeitsauftrag: Recovery-Pfad dokumentieren und beziehe die Beobachtung ausdrücklich auf trap.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A030. mktemp

  • Arbeitsauftrag: Review-Regel formulieren und beziehe die Beobachtung ausdrücklich auf mktemp.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A031. Textverarbeitung

  • Arbeitsauftrag: Eingabe validieren und beziehe die Beobachtung ausdrücklich auf Textverarbeitung.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A032. Security

  • Arbeitsauftrag: Exit Code erklären und beziehe die Beobachtung ausdrücklich auf Security.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A033. Quoting

  • Arbeitsauftrag: Quoting prüfen und beziehe die Beobachtung ausdrücklich auf Quoting.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A034. Exit Codes

  • Arbeitsauftrag: Fehlerpfad testen und beziehe die Beobachtung ausdrücklich auf Exit Codes.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A035. Pipelines

  • Arbeitsauftrag: Logausgabe bewerten und beziehe die Beobachtung ausdrücklich auf Pipelines.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A036. getopts

  • Arbeitsauftrag: Cleanup nachvollziehen und beziehe die Beobachtung ausdrücklich auf getopts.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A037. trap

  • Arbeitsauftrag: Portabilität abgrenzen und beziehe die Beobachtung ausdrücklich auf trap.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A038. mktemp

  • Arbeitsauftrag: Security-Risiko markieren und beziehe die Beobachtung ausdrücklich auf mktemp.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A039. Textverarbeitung

  • Arbeitsauftrag: Recovery-Pfad dokumentieren und beziehe die Beobachtung ausdrücklich auf Textverarbeitung.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A040. Security

  • Arbeitsauftrag: Review-Regel formulieren und beziehe die Beobachtung ausdrücklich auf Security.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A041. Quoting

  • Arbeitsauftrag: Eingabe validieren und beziehe die Beobachtung ausdrücklich auf Quoting.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A042. Exit Codes

  • Arbeitsauftrag: Exit Code erklären und beziehe die Beobachtung ausdrücklich auf Exit Codes.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A043. Pipelines

  • Arbeitsauftrag: Quoting prüfen und beziehe die Beobachtung ausdrücklich auf Pipelines.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A044. getopts

  • Arbeitsauftrag: Fehlerpfad testen und beziehe die Beobachtung ausdrücklich auf getopts.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A045. trap

  • Arbeitsauftrag: Logausgabe bewerten und beziehe die Beobachtung ausdrücklich auf trap.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A046. mktemp

  • Arbeitsauftrag: Cleanup nachvollziehen und beziehe die Beobachtung ausdrücklich auf mktemp.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A047. Textverarbeitung

  • Arbeitsauftrag: Portabilität abgrenzen und beziehe die Beobachtung ausdrücklich auf Textverarbeitung.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A048. Security

  • Arbeitsauftrag: Security-Risiko markieren und beziehe die Beobachtung ausdrücklich auf Security.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A049. Quoting

  • Arbeitsauftrag: Recovery-Pfad dokumentieren und beziehe die Beobachtung ausdrücklich auf Quoting.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A050. Exit Codes

  • Arbeitsauftrag: Review-Regel formulieren und beziehe die Beobachtung ausdrücklich auf Exit Codes.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A051. Pipelines

  • Arbeitsauftrag: Eingabe validieren und beziehe die Beobachtung ausdrücklich auf Pipelines.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A052. getopts

  • Arbeitsauftrag: Exit Code erklären und beziehe die Beobachtung ausdrücklich auf getopts.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A053. trap

  • Arbeitsauftrag: Quoting prüfen und beziehe die Beobachtung ausdrücklich auf trap.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A054. mktemp

  • Arbeitsauftrag: Fehlerpfad testen und beziehe die Beobachtung ausdrücklich auf mktemp.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A055. Textverarbeitung

  • Arbeitsauftrag: Logausgabe bewerten und beziehe die Beobachtung ausdrücklich auf Textverarbeitung.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A056. Security

  • Arbeitsauftrag: Cleanup nachvollziehen und beziehe die Beobachtung ausdrücklich auf Security.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A057. Quoting

  • Arbeitsauftrag: Portabilität abgrenzen und beziehe die Beobachtung ausdrücklich auf Quoting.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A058. Exit Codes

  • Arbeitsauftrag: Security-Risiko markieren und beziehe die Beobachtung ausdrücklich auf Exit Codes.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A059. Pipelines

  • Arbeitsauftrag: Recovery-Pfad dokumentieren und beziehe die Beobachtung ausdrücklich auf Pipelines.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A060. getopts

  • Arbeitsauftrag: Review-Regel formulieren und beziehe die Beobachtung ausdrücklich auf getopts.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A061. trap

  • Arbeitsauftrag: Eingabe validieren und beziehe die Beobachtung ausdrücklich auf trap.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A062. mktemp

  • Arbeitsauftrag: Exit Code erklären und beziehe die Beobachtung ausdrücklich auf mktemp.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A063. Textverarbeitung

  • Arbeitsauftrag: Quoting prüfen und beziehe die Beobachtung ausdrücklich auf Textverarbeitung.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A064. Security

  • Arbeitsauftrag: Fehlerpfad testen und beziehe die Beobachtung ausdrücklich auf Security.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A065. Quoting

  • Arbeitsauftrag: Logausgabe bewerten und beziehe die Beobachtung ausdrücklich auf Quoting.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A066. Exit Codes

  • Arbeitsauftrag: Cleanup nachvollziehen und beziehe die Beobachtung ausdrücklich auf Exit Codes.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A067. Pipelines

  • Arbeitsauftrag: Portabilität abgrenzen und beziehe die Beobachtung ausdrücklich auf Pipelines.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A068. getopts

  • Arbeitsauftrag: Security-Risiko markieren und beziehe die Beobachtung ausdrücklich auf getopts.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A069. trap

  • Arbeitsauftrag: Recovery-Pfad dokumentieren und beziehe die Beobachtung ausdrücklich auf trap.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A070. mktemp

  • Arbeitsauftrag: Review-Regel formulieren und beziehe die Beobachtung ausdrücklich auf mktemp.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A071. Textverarbeitung

  • Arbeitsauftrag: Eingabe validieren und beziehe die Beobachtung ausdrücklich auf Textverarbeitung.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A072. Security

  • Arbeitsauftrag: Exit Code erklären und beziehe die Beobachtung ausdrücklich auf Security.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A073. Quoting

  • Arbeitsauftrag: Quoting prüfen und beziehe die Beobachtung ausdrücklich auf Quoting.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A074. Exit Codes

  • Arbeitsauftrag: Fehlerpfad testen und beziehe die Beobachtung ausdrücklich auf Exit Codes.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A075. Pipelines

  • Arbeitsauftrag: Logausgabe bewerten und beziehe die Beobachtung ausdrücklich auf Pipelines.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A076. getopts

  • Arbeitsauftrag: Cleanup nachvollziehen und beziehe die Beobachtung ausdrücklich auf getopts.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A077. trap

  • Arbeitsauftrag: Portabilität abgrenzen und beziehe die Beobachtung ausdrücklich auf trap.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A078. mktemp

  • Arbeitsauftrag: Security-Risiko markieren und beziehe die Beobachtung ausdrücklich auf mktemp.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A079. Textverarbeitung

  • Arbeitsauftrag: Recovery-Pfad dokumentieren und beziehe die Beobachtung ausdrücklich auf Textverarbeitung.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A080. Security

  • Arbeitsauftrag: Review-Regel formulieren und beziehe die Beobachtung ausdrücklich auf Security.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A081. Quoting

  • Arbeitsauftrag: Eingabe validieren und beziehe die Beobachtung ausdrücklich auf Quoting.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A082. Exit Codes

  • Arbeitsauftrag: Exit Code erklären und beziehe die Beobachtung ausdrücklich auf Exit Codes.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A083. Pipelines

  • Arbeitsauftrag: Quoting prüfen und beziehe die Beobachtung ausdrücklich auf Pipelines.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A084. getopts

  • Arbeitsauftrag: Fehlerpfad testen und beziehe die Beobachtung ausdrücklich auf getopts.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A085. trap

  • Arbeitsauftrag: Logausgabe bewerten und beziehe die Beobachtung ausdrücklich auf trap.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A086. mktemp

  • Arbeitsauftrag: Cleanup nachvollziehen und beziehe die Beobachtung ausdrücklich auf mktemp.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A087. Textverarbeitung

  • Arbeitsauftrag: Portabilität abgrenzen und beziehe die Beobachtung ausdrücklich auf Textverarbeitung.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A088. Security

  • Arbeitsauftrag: Security-Risiko markieren und beziehe die Beobachtung ausdrücklich auf Security.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A089. Quoting

  • Arbeitsauftrag: Recovery-Pfad dokumentieren und beziehe die Beobachtung ausdrücklich auf Quoting.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.

A090. Exit Codes

  • Arbeitsauftrag: Review-Regel formulieren und beziehe die Beobachtung ausdrücklich auf Exit Codes.
  • Nachweis: Notiere das geprüfte Kommando, erwartete Ausgabe, tatsächliche Ausgabe und Exit Code.
  • Betriebsfrage: Was passiert bei leerer Eingabe, fehlender Datei, fehlendem Tool und wiederholter Ausführung?
  • Security-Frage: Kann Input als Option, Pfad, Glob, Subshell, eval-Ausdruck oder Secret-Leak wirken?
  • Recovery: Beschreibe Revert, Cleanup, Restore, Secret-Rotation oder manuelle Korrektur.
05 / 05

SH · Orthevs Academy

31 modules as one continuous learning path.

The sequence remains unchanged: from the lab skeleton through technical foundations and operating models to final troubleshooting. The technical directory names are deliberately preserved.

Orthevs – Engineering the foundation for what comes next.

Orthevs as an app

Install Orthevs

The Orthevs web app can be installed on supported mobile devices and desktop browsers.

iPhone and iPad

Open Orthevs in Safari. Tap Share, then Add to Home Screen. Enable Open as Web App if offered, then tap Add.

Android

For the web app, open the browser menu and choose Install app or Add to Home screen. Confirm the installation.

Desktop browser

Open the browser menu or the install icon in the address bar, then choose Install app or Add to Dock.

Web app installation depends on your browser. If no install prompt appears, follow the browser steps shown above.