3.5 Argumente und Leerzeichen
Die Shell erkennt anhand der Shell-Variablen IFS, wann ein Argument endet und das nächste beginnt. Soweit ist das kein Problem, wenn man nicht für ein Argument zwei oder mehrere Zeichenketten verwenden will. Ein einfaches Beispiel, das zeigt, worauf ich hinauswill:
# Argumente mit einem Leerzeichen
# Name: awhitespacer
echo "Vorname : $1"
echo "Name : $2"
echo "Alter : $3"
Das Script bei der Ausführung:
you@host > ./awhitespacer Jürgen von Braunschweig 30
Name : Jürgen
Vorname : von
Alter : Braunschweig
Hier war eigentlich beabsichtigt, dass beim Nachnamen (Argument $2) »von Braunschweig« stehen sollte. Die Shell allerdings behandelt dies richtigerweise als zwei Argumente. Diese »Einschränkung« zu umgehen, ist nicht sonderlich schwer, aber eben eine recht häufig gestellte Aufgabe. Sie müssen nur entsprechende Zeichenketten in zwei doppelte Anführungszeichen setzen. Das Script nochmals bei der Ausführung:
you@host > ./awhitespacer Jürgen "von Braunschweig" 30
Name : Jürgen
Vorname : von Braunschweig
Alter : 30
Jetzt werden die Daten auch korrekt am Bildschirm angezeigt.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.
|