Die Shell verstehen
Bis hierher hast du die Shell benutzt wie einen Taschenrechner: Befehl eintippen, Resultat lesen. In diesem Modul schaust du hinter die Kulissen. Was macht die Bash eigentlich mit der Zeile, die du eintippst, bevor ein Programm startet? Wer diese Frage beantworten kann, versteht, warum ls *.txt funktioniert, warum ein Dateiname mit Leerzeichen so viel Ärger macht und warum 2>&1 nicht einfach Zeichensalat ist.
Das Modul ist die Grundlage für die Shell-Programmierung in Modul 8. Alles, was du hier interaktiv ausprobierst, gilt in einem Skript genauso.
- Arbeitsweise der Shell: Die sechs Schritte,
type,$PATH, Exit-Status und verschiedene Shells. - Umleitungen und Pipes: stdin, stdout, stderr,
>,2>&1,|,tee,xargsund Here-Docs. - Metazeichen und Quoting: Globs, Brace Expansion, die drei Quoting-Arten und Kommandosubstitution.
- Textwerkzeuge: Die klassischen Unix-Filter und wie man sie zu Pipelines verbindet.
- Variablen und Umgebung:
export, Startdateien, Aliase, Funktionen und die eigene~/.bash_aliases.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“Du arbeitest in deiner VM (siehe Lab-Umgebung) und kennst die Grundlagen aus Modul 3 und Modul 4. Abgaben laufen wie in der Arbeitsweise beschrieben über labs/linux/07-shell/.