Viele Aenderungen

This commit is contained in:
rschaten
2004-12-02 13:54:06 +00:00
parent c0e556e25d
commit 15af99f29e
10 changed files with 873 additions and 57 deletions

View File

@@ -1,6 +1,12 @@
% $Id$
\chapter{Wofür Shell-Programmierung?}
Natürlich stellt sich die Frage, in welchen Situationen ein Shell-Skript der
richtige Weg ist, und wann man vielleicht doch besser zu einer interpretierten
oder compilierten Sprache greift.
\section{Wofür?}
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.
@@ -23,3 +29,19 @@ Befehlen ausf
Beispiel eine Audio-CD kopieren soll, sollte das Brennprogramm nur dann
aufrufen, wenn der Einlesevorgang erfolgreich abgeschlossen wurde.
\section{Wofür nicht?}
Ein Shell-Skript besteht aus einer Abfolge von System-Tool-Aufrufen. Das heißt,
für jeden Schritt in einem Skript wird ein neuer Prozeß gestartet. Das kostet
eine Menge Systemzeit, die Skripte laufen also vergleichsweise langsam. Für
komplexe, zeitkritische oder langwierige Aufgaben sollte man also besser zu
Perl, Python oder in Extremfällen zu C / C++ greifen.
Shell-Skripte können als imperativ angesehen werden, für viele Aufgaben ist
aber ein objektorientierter Ansatz wesentlich geeigneter. Auch hier ist also
der Griff zu einer anderen Sprache angeraten.
Es gibt zwar ein paar Tools\footnote{Zum Beispiel dialog im Textmodus, oder
xmessage unter X.}, mit denen auch Shell-Skripte eine grafische oder
textorientierte Benutzeroberfläche (GUI) bekommen können, aber das ist trotzdem
nicht das natürliche Terrain der Shell-Programmierung.