Initial revision
This commit is contained in:
34
wo_sind_unterschiede_zu_dos_batchdateien.tex
Normal file
34
wo_sind_unterschiede_zu_dos_batchdateien.tex
Normal file
@@ -0,0 +1,34 @@
|
||||
\chapter{Wo sind Unterschiede zu DOS-Batchdateien?}\index{DOS|(textbf}\index{Batchdateien|(textbf}
|
||||
|
||||
Unter DOS werden Batchdateien oft dazu benutzt, lange Kommandos abzukürzen um
|
||||
die Tipparbeit zu vermindern, oder um sich das Merken von vielen Parametern zu
|
||||
ersparen. Diese Aufgabe überläß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ührt werden. Es stehen zwar auch einige
|
||||
einfache Mechanismen zur Verzweigung zu Verfü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ü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ändig ausgeführt, seine Ausgabe in eine temporäre Datei
|
||||
geschrieben und danach als Eingabe für das zweite Kommando benutzt. Daß so ein
|
||||
Verhalten unter Umstä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ügung, die eine
|
||||
Programmiersprache auszeichnen (Funktionen, Schleifen, Fallunterscheidungen,
|
||||
Variablen, etc).
|
||||
|
||||
\index{DOS|)}\index{Batchdateien|)}
|
||||
Reference in New Issue
Block a user