2003-04-11 15:05:25 +00:00
|
|
|
|
% $Id$
|
2001-07-02 12:52:18 +00:00
|
|
|
|
\chapter{Wo sind Unterschiede zu DOS-Batchdateien?}\index{DOS|(textbf}\index{Batchdateien|(textbf}
|
|
|
|
|
|
|
|
|
|
Unter DOS werden Batchdateien oft dazu benutzt, lange Kommandos abzuk<75>rzen um
|
|
|
|
|
die Tipparbeit zu vermindern, oder um sich das Merken von vielen Parametern zu
|
|
|
|
|
ersparen. Diese Aufgabe <20>berl<72><6C>t man unter Unix am besten den
|
|
|
|
|
Shell-Aliasen\index{Aliase} oder Shell-Funktionen.\bigskip
|
|
|
|
|
|
|
|
|
|
Shell-Skripte k<>nnen viel mehr als Batchdateien.\bigskip
|
|
|
|
|
|
|
|
|
|
Wie der Name schon sagt, sind Batchdateien im Wesentlichen nur ein `Stapel' von
|
|
|
|
|
Anweisungen, die nacheinander ausgef<65>hrt werden. Es stehen zwar auch einige
|
|
|
|
|
einfache Mechanismen zur Verzweigung zu Verf<72>gung, aber das entspricht bei
|
|
|
|
|
weitem nicht den M<>glichkeiten, die man an der Shell hat.
|
|
|
|
|
|
|
|
|
|
Interaktive Batchdateien sind unter DOS nicht m<>glich, in der Shell steht dazu
|
|
|
|
|
das \texttt{read}-Kommando zur Verf<72>gung. Ein Mechanismus wie die
|
|
|
|
|
Befehls-Substitution\footnote{Verarbeitung der Ausgabe von Kommandos mittels
|
|
|
|
|
Backticks (siehe unter Befehlsformen - \ref{befehlsformen})} fehlt v<>llig.
|
|
|
|
|
|
|
|
|
|
Ein weiteres interessantes Merkmal ist die Behandlung von Pipes. Es ist unter
|
|
|
|
|
DOS zwar m<>glich, zwei Kommandos durch eine Pipe zu verbinden. Aber da es unter
|
|
|
|
|
DOS keine M<>glichkeit gibt, zwei Kommandos parallel laufen zu lassen, wird das
|
|
|
|
|
erste Kommando vollst<73>ndig ausgef<65>hrt, seine Ausgabe in eine tempor<6F>re Datei
|
|
|
|
|
geschrieben und danach als Eingabe f<>r das zweite Kommando benutzt. Da<44> so ein
|
|
|
|
|
Verhalten unter Umst<73>nden schnell zu einer vollen Festplatte f<>hren kann, sieht
|
|
|
|
|
man bei dem Beispiel, in dem eine CD kopiert werden soll (Kapitel \ref{cdrdao},
|
|
|
|
|
Seite \pageref{cdrdao}).
|
|
|
|
|
|
|
|
|
|
Shell-Skripte kann man dagegen eher mit einer `richtigen' Programmiersprache
|
|
|
|
|
vergleichen. Es stehen alle Konstrukte zur Verf<72>gung, die eine
|
|
|
|
|
Programmiersprache auszeichnen (Funktionen, Schleifen, Fallunterscheidungen,
|
|
|
|
|
Variablen, etc).
|
|
|
|
|
|
|
|
|
|
\index{DOS|)}\index{Batchdateien|)}
|