|
|
Variablen
Die Shellskripten können mit Variablen arbeiten. Variablen sind Speicher
für Daten, die über einen Namen angesprochen werden. Die Variablen der Shell
entsprechen den bereits bekannten Umgebungsvariablen.
Der Unterschied liegt darin, dass Umgebungsvariablen an Kindprozesse
weitergegeben werden. Mit dem Kommando
Variablen werden gefüllt, indem Sie dem Variablennamen ein Gleichheitszeichen
und den Wert folgen lassen. Dabei darf kein Leerzeichen zwischen der Variablen,
dem Gleichheitszeichen und dem zugewiesenen Wert stehen.
Um sich auf den Inhalt einer Variablen zu beziehen, stellen Sie dem
Variablennamen ein Dollarzeichen voran. Zur Ausgabe von Variablen wird der
Befehl
INFO="Tolles Wetter!" echo Bestimmte Variablennamen sind vorbelegt. Beispielsweise erfährt die Shell über besondere Variablen, wie der Aufruf des Skripts aussah. Mit $0 erhalten Sie den Dateinamen, unter dem das Skript gestartet wurde. $1 ist der erste Parameter, $2 der zweite und so weiter. Aus der Variablen $# erfährt das Skript, mit wievielen Parametern es aufgerufen wurde. Beispiel:
[Aufrufparameter lesen] # Skript dreh - Tauscht Parameter echo "Ich heiße " $0 " und habe " $# "Parameter" echo $2 $1
Das Skript soll
arnold@gaston > dreh anton erna Ich heiße ./dreh und habe 2 Parameter erna anton arnold@gaston > Zusammenfassung der vordefinierten Variablen:
[Spezielle Variablen]L|L
Variablen & Inhalt
ZuweisungenEine Variable wird definiert, wenn sie das erste Mal benutzt wird. Typischerweise geschieht dies durch eine Zuweisung. Shellvariablen enthalten Zeichenketten, die als Konstanten durch Anführungszeichen begrenzt werden. Damit auch Sonderzeichen aufgenommen werden können, wird eine Zeichenkette in Hochkommata eingeschlossen. Das Zuweisungszeichen ist das Gleichheitszeichen. Beispiele:
a="a ist ein schlechter Name für eine Variable: zu kurz" dieZahlPi=3.14
Wenn Sie die Befehle
Mit ganzen Zahlen können Sie in Skripten rechnen. Dazu gibt es den Befehl
a=$(expr 3 + 3)
b=a * 3)
Wenn Sie sich per
Natürlich fällt der Backslash vor dem * auf. Der ist notwendig, weil der Stern
ja ein Sonderzeichen für die Shell ist. Damit der Stern den Befehl
[Operatoren in expr]C|L
Zeichen & Bedeutung
Die verwendbaren Operatoren in Shellskripten unterscheiden sich wenig von denen anderer Programmiersprachen.
Wie bereits im Kapitel über die Shell (siehe S. let)
gezeigt wurde, gibt es bei den
moderneren Nachfolgern der Bourneshell den Befehl
gaston> let wert=45+5 gaston> echo $wert 50 gaston> let wert=16\%5 gaston> echo$ wert 1 gaston> let wert=(1+3)*2 gaston> echo $wert 8 gaston>$
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|