12.9 Benutzereingaben
Möchte man einen Benutzer einen Wert für eine Variable einlesen lassen, so ist das in der C-Shell sehr einfach zu bewerkstelligen. Hier wird die Variable $< in Verbindung mit dem Ihnen bereits bekannten Kommando set verwendet.
Listing 12.28 Eine Benutzereingabe einlesen
echo "Bitte geben Sie Ihr Alter ein: "
set alter = $<
echo "Sie sind $alter Jahre alt."
Warum nun diese besondere Syntax? Um zu verstehen, wie der obige Befehl genau funktioniert, werfen wir zunächst einen Blick auf den ersten Teil der Anweisung, also set alter = ... Dieser Teil ist Ihnen bereits bekannt: Er weist der Variable alter einen Wert zu. Die besondere Variable $< liest einen Wert ein und enthält diesen anschließend. Es handelt sich also um keine Variable im eigentlichen Sinne, sondern vielmehr um eine Kombination aus Kommando und Variable.
Um uns das Verhalten von $< noch etwas besser zu veranschaulichen, betrachten wir einfach, wie sich $< in Verbindung mit dem echo-Befehl auswirkt: Wie Sie sehen können, wird zunächst Text eingelesen (das erste »Hallo«), dieser wird in $< gespeichert und direkt ausgegeben (das zweite »Hallo«).
Listing 12.29 Eingegebenen Text ausgeben
% echo $<
Hallo
Hallo
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.