17.11.2013 Aufrufe

6 Grundlagen aus Anwendersicht

6 Grundlagen aus Anwendersicht

6 Grundlagen aus Anwendersicht

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!