6 Grundlagen aus Anwendersicht
6 Grundlagen aus Anwendersicht
6 Grundlagen aus Anwendersicht
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Ein- und Ausgabeumlenkung 7.8<br />
$ uname -a >log<br />
$ who am i >>log<br />
$ cat log<br />
OpenBSD eygo.sun 3.6 EYGO#0 i386<br />
cdp_xe ttyp7 Mar 19 14:30<br />
Listing 7.51 Text anhängen<br />
7.8.5 Eingabeumlenkung<br />
In den meisten Fällen gibt man Befehle und Eingaben für Prozesse über die Tastatur<br />
ein – dies lässt sich ändern. Falls Sie sich fragen, was Ihnen dieses Feature überhaupt<br />
bringen soll, sei gesagt, dass der richtige Nutzwert sich erst in der Programmierung<br />
von Shellskripten zeigt. Aber auch im Alltag kann die Eingabeumlenkung hilfreich<br />
sein, hierzu ein kleines Beispiel:<br />
Ein Programm soll jeden Tag zwanzigmal <strong>aus</strong>geführt werden. Das Programm benötigt<br />
dabei verschiedene Eingaben, nämlich den Namen des Anwenders und dessen<br />
User-ID. Da Sie diese Daten nicht jeden Tag zwanzigmal erneut eingeben möchten,<br />
können Sie sich durch eine Eingabeumlenkung und die somit vorgenommene Automatisierung<br />
dieser Eingabe Arbeit ersparen. Zur Demonstration des Beispiels soll<br />
ein kleines Shellskript dienen, das eben genau diese Eingaben, also den Benutzernamen<br />
und die User-ID, abfragt (gute Programme bekommen dies natürlich allein<br />
her<strong>aus</strong>).<br />
$ ./tool.sh<br />
Benutzername: Steffen Wendzel<br />
User-ID: 1000<br />
Danke für Ihre Anmeldung, Steffen Wendzel (1000).<br />
Listing 7.52 Ein Aufruf von tool.sh<br />
Nun lenken wir die benötigten Eingabedaten einfach in eine Datei um. Dabei sollten<br />
Sie wissen, dass die Zeichensequenz \n dem Drücken der Eingabetaste entspricht<br />
und in der Ausgabe eine neue Zeile einleitet. Durch den Parameter -e werden die<br />
Escape-Sequenzen entsprechend interpretiert. Bei der Z-Shell kann dieser Parameter<br />
aber auch weggelassen werden.<br />
$ echo -e "Steffen Wendzel\n1000\n" > Eingabe<br />
$ cat Eingabe<br />
Steffen Wendzel<br />
1000<br />
$<br />
Listing 7.53 Erstellen einer Datei mit den typischen Eingaben<br />
237