Shell: Variablen
Variablen kann man sich als Behälter mit Namen vorstellen, in denen etwas für die spätere Verwendung aufbewahrt werden kann.
Stell dir eine Tasse vor.
Auf dem Bild hat die Variable den Namen Alter und den Inhalt 17.
Um eine Variable zu erzeugen, weist man ihr einen Inhalt zu:
$ Alter=17
Um an den Inhalt wieder heranzukommen, wird vor den Namen ein Dollarzeichen gesetzt:
$ echo Die Variable Alter hat den Inhalt $Alter
Shell: elementare Datentypen
Eben haben wir der Variablen Alter den Inhalt 17 zugewiesen. Es sieht ganz danach aus, dass der Inhalt eine Zahl ist. Es könnten aber auch die Zeichen 1 und 7 sein. Dann wäre der Inhalt unserer Variablen keine Zahl sondern eine Zeichenkette. Zeichenketten bestehen normalerweise aus Buchstaben, Zahlen und Sonderzeichen.
In unserer Shell-Programmiersprache sind die beiden wichtigsten Datentypen
- ganze Zahlen (integer) und
- Zeichenketten (string)
Zeichenketten werden bei der Zuweisung von ticks oder quotation-marks umschlossen. Die sind notwendig, weil die shell die Leerstellen zwischen den getippten Zeichen als Wort-trenner verwendet.
Beispiel: $ Name="Fred Feuerstein"
Beispiel: $ FredsAlter=45
Shell: Variablen-Expansion
In einem shell-script und auf der Kommandozeile muss die
Programmiererin oder der Benutzer eindeutig mitteilen können,
was er möchte, wenn ein Variablenname getippt wird:
Wir verwenden zur Demonstration das Kommando echo
.
Es gibt drei Möglichkeiten:
-
Der Inhalt der Variable soll ausgegeben werden. Das geht direkt mit
$ echo $Alter
$ echo "$Alter"
Es handelt sich hier um doppelte Anführungszeichen, sogenannte rabbit-ears oder double-quotes. Variablen, die in double-quotes vorkommen, werden durch ihren Inhalt ersetzt, bevor die Verarbeitung weitergeht.
-
Der Text $Alter soll ausgeben werden. Das geht mit
$ echo '$Alter'
Es handelt sich hier um einfache Anführungszeichen, sogenannte ticks oder single-quotes. Variablen, die in single-quotes vorkommen, werden nicht ersetzt. Die Zeichenkette wird unverändert verwendet.
-
Die Ausgabe eines Kommandos soll auf der Kommandozeile erscheinen. Das geht mit sogenannten back-ticks oder back-quotes:
$ echo `ls /usr/bin`
Hier wird das Kommando
ls /usr/bin
zuerst ausgeführt, und dessen Ausgabe ersetzt dann die Zeichenkettels /usr/bin
auf der Kommandozeile, die erst nach der Ersetzung ausgeführt wird.
Zusammenfassung Variable-Expansion:
Wenn man Variablennamen verwendet, kann man entweder den Namen meinen, oder den Ihnalt. Um das präzise auszudrücken, nimmt man auf der Kommanozeile oder in shell-skripts die entsprechenden ticks.
vorherige Seite Linux/CLI
nächste Seite Ein-/Ausgabeumleitung