A.8 Lösungen zu Kapitel 12 

Namen in Arrays
Schreiben Sie ein C-Shell-Skript, das zwei Namen einliest und diese in einem Array speichert. Das Array soll mithilfe der foreach-Schleife ausgegeben werden.
Antwort:
#!/bin/csh echo -n "Bitte geben Sie den ersten Namen ein: " set nameA = $< echo -n "Bitte geben Sie den zweiten Namen ein: " set nameB = $< set arr = ($nameA $nameB) echo "Sie haben folgende Namen eingegeben:" foreach name($arr) echo -n "${name}, " end echo ""
Listing A.9 Einlesen von zwei Namen und Ausgeben mit foreach
Erweiterung: Beliebige Parameterzahl
Erweitern Sie das erstellte Skript um die Möglichkeit, so viele Namen einzulesen, wie der Benutzer wünscht und geben Sie nach der Ausgabe der Namen auch die Gesamtzahl der eingelesenen Namen aus.
Antwort:
#!/bin/csh set weiter = "y" set namen = () while ($weiter == "y") echo -n "Name: " set namen = ($namen $<) echo -n "Einen weiteren Namen einlesen? (y/n) " set weiter = $< end echo "Sie haben folgende Namen eingegeben:" @ zaehler = 0 foreach name($namen) echo -n "${name}, " @ zaehler ++ end echo "" echo "Insgesamt: $zaehler Namen" [Ausgabe des Skripts] % /tmp/cshtest.csh Name: Bello Einen weiteren Namen einlesen? (y/n) y Name: Hasso Einen weiteren Namen einlesen? (y/n) y Name: Rex Einen weiteren Namen einlesen? (y/n) n Sie haben folgende Namen eingegeben: Bello, Hasso, Rex, Insgesamt: 3 Namen
Listing A.10 Einlesen beliebig vieler Namen