Skripting
Lernfokus
AP2 Systemintegration: Aufgaben in Bash und PowerShell automatisieren, Kontrollstrukturen sauber entwerfen und Skripte über Exit-Codes zuverlässig überwachen.
- Bash-Grundlagen beherrschen: Variablen, Pipes und Umleitungen zielsicher einsetzen.
- PowerShell verstehen: Cmdlets, Objekte und die objektbasierte Pipeline nutzen.
- Abläufe automatisieren und über Exit-Codes,
$?und Fehlerströme absichern.
Shell-Grundlagen (Bash)
In der Bash steuerst du Programme über die Kommandozeile. Variablen, Pipes und Umleitungen sind die Bausteine jedes Skripts.
- Variablen: Zuweisung ohne Leerzeichen wie
NAME="wert", Auslesen mit Dollarzeichen als$NAME. - Pipes:
|reicht die Standardausgabe eines Kommandos als Standardeingabe an das nächste weiter (z. B.ls -l | grep txt). - Umleitungen:
>überschreibt eine Datei,>>hängt an,<liest eine Datei als Eingabe ein.
Merksatz: Ein einfaches > überschreibt, der doppelte Pfeil >> hängt an – erst prüfen, dann umleiten.
PowerShell
PowerShell arbeitet objektorientiert: Cmdlets liefern keine reinen Textzeilen, sondern strukturierte Objekte mit Eigenschaften.
- Cmdlets: folgen dem Schema Verb-Nomen, etwa
Get-ServiceoderStop-Process. - Objekt-Pipeline: zwischen den Cmdlets fließen ganze .NET-Objekte, sodass Folge-Cmdlets gezielt auf Felder zugreifen.
- Verarbeitung:
Where-Objectfiltert nach Bedingung,Select-Objectwählt Eigenschaften,Sort-Objectsortiert.
Merksatz: Bash schiebt Text durch die Pipeline, PowerShell schiebt Objekte – deshalb kannst du in PowerShell direkt nach Eigenschaften filtern.
Kontrollstrukturen & Pseudocode
Kontrollstrukturen steuern den Ablauf: Verzweigungen entscheiden, Schleifen wiederholen. Im Pseudocode planst du das sprachunabhängig.
- Verzweigung:
if-elseif-else(oderswitch) führt je nach Bedingung genau einen Zweig aus. - Zählschleife:
fornutzt du, wenn die Anzahl der Durchläufe von vornherein feststeht. - Bedingte Schleife: die kopfgesteuerte
whileprüft vor jedem Durchlauf; die fußgesteuertedo-whileläuft mindestens einmal.
Merksatz: Feste Anzahl bekannt? Nimm for. Nur eine Abbruchbedingung bekannt? Nimm while.
Automatisierung, Exit-Codes & Fehlerbehandlung
Skripte laufen oft ohne Aufsicht. Zeitplaner starten sie, und Rückgabewerte verraten, ob sie erfolgreich waren.
- Cron (Linux): fünf Felder in der Reihenfolge Minute, Stunde, Tag des Monats, Monat, Wochentag;
30 2 * * *läuft täglich um 02:30 Uhr,*/15 * * * *alle 15 Minuten. - Aufgabenplanung (Windows): der Taskplaner bzw.
schtasksstartet Aufgaben zeitgesteuert, auch ohne angemeldeten Benutzer. - Exit-Codes:
0bedeutet Erfolg, jeder Wert ungleich 0 einen Fehler; in Bash liest$?den letzten Rückgabewert aus. - Fehlerströme:
2>leitet die Standardfehlerausgabe (stderr, Deskriptor 2) um; in PowerShell fängt eintry-catch-Block Laufzeitfehler ab.
Merksatz: Exit-Code 0 heißt „alles gut", alles andere heißt „prüfen" – und stderr (Deskriptor 2) ist getrennt von stdout (Deskriptor 1).
Prüfungsmodus
Dieser ProtocolCheck führt dich durch die wichtigsten AP2-Aspekte dieses Themas. Du kannst Antworten prüfen, Fragen überspringen und bekommst am Ende eine Auswertung nach Kategorie.
Kategorie
Skripting
AP2-Training