\chapter{Wofür Shell-Programmierung?} Die Shell ist der perfekte Baukasten für das Unix-Paradigma `small is beautiful'. Die mitgelieferten Unix-Standardkommandos sind einfach gehalten, erledigen aber auf effiziente Weise die Arbeit für die sie programmiert wurden. Mit der Shell, bzw. dem Shell-Skript, wird aus dem Heinzelmännchen ein starker Riese. Shell-Skripte werden im Wesentlichen aus zwei Gründen geschrieben: Erstens, weil man so ständig wiederkehrende Kommandos zusammenfassen kann, die man dann mit einem einfachen Aufruf starten kann, und zweitens, weil man so einfache Programme schreiben kann, die relativ intelligent Aufgaben erledigen können. Der erste Aspekt ist wichtig, wenn man beispielsweise regelmäßig auftretende Aufgaben erledigen möchte, wie z. B. das Backup von Log-Dateien. In dem Fall schreibt man sich ein Skript, das die Dateien archiviert, und sorgt dafür, daß dieses Skript in regelmäßigen Abständen aufgerufen wird (per Cron-Job\index{Cron-Job}). Der zweite Fall tritt ein, wenn man eine mehr oder weniger komplexe Abfolge von Befehlen ausführen möchte, die voneinander abhängen. Ein Skript das zum Beispiel eine Audio-CD kopieren soll, sollte das Brennprogramm nur dann aufrufen, wenn der Einlesevorgang erfolgreich abgeschlossen wurde.