Suchen und Finden
Service
Infos und Kontakt
Kapitel 5 Parameter zum Zweiten (S. 127-128)
»Ich habe nichts zu bieten, außer Blut, Schweiß und Tränen« – W. Churchill
... unfair von mir, das erst jetzt zu erwähnen, aber dieser Spruch in Kapitel 1 hätte doch leicht demotivierend gewirkt. Ehrlich gesagt, Sie werden noch einige Zeit opfern müssen, bevor Sie als Experte durchgehen können. Als kleiner Trost sei gesagt, dass auch in den restlichen Kapiteln dieses Buchs kein Blut vergossen wird :-)
Auch wenn wir Shellfunktionen erst in Kapitel 7 besprechen werden, hier der Hinweis, dass sämtliche in diesem Kapitel besprochenen Ersetzungen genauso mit den Parametern der Shellfunktionen funktionieren und nicht auf die Skriptparameter beschränkt sind.
5.1 Der Stand der Dinge
In diesem Kapitel wollen wir uns mit den letzten Mysterien der Parameter für Skripten befassen. Sie erinnern sich sicherlich noch an das erste Kapitel, welches sich mit den Parametern $0 bis $9 befasste und den Parameter $# erklärte, mit dem sich feststellen lässt, wie viele Parameter dem Skript insgesamt übergeben wurden.
Dabei ist der Parameter $0 der Name des Skripts. Die for-Schleife aus Kapitel 3 zeigte dann einen Weg auf, wie die Parameter ab Position 10 abgefragt werden können. Elegant war das allerdings nicht.
5.2 Parameter jenseits $9
Die Methode, mittels for-Schleife auf die Parameter zuzugreifen, funktioniert zwar, ist aber eher umständlich. In diesem Abschnitt möchten wir daher auf zwei Alternativen zu sprechen kommen.
In Kapitel 1 tauchte das Problem auf, wie Variablen zu referenzieren sind, wenn die Shell Variablennamen und folgenden Text nicht in zwei Wörter aufteilen kann. Skript 4 machte das Problem deutlich. Die Lösung war, den Variablennamen in geschweifte Klammern zu setzen: ${anz}mal statt $anzmal.
Ein ähnliches Problem trat auch bei Parameter $10 auf, den die Shell als ${1}0 interpretierte und somit eine Null hinter den ersten Parameter hing. Die Lösung für dieses Problem sind ebenfalls geschweifte Klammern: ${10} greift somit auf den zehnten Parameter zu.
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.; Ersparnis im Vergleich zur Printversion

















