Variableninterpolation in Bash-Skript
In diesem Artikel geht es um die Verwendung von Variablen in einem Bash-Skript und wie diese Variablen in einem Bash-Skript interpoliert werden.
Variablen in Bash-Skript
Jede Programmiersprache hat Variablen, die bestimmte Datentypen haben. In ähnlicher Weise ermöglicht uns das Bash-Skripting auch die Verwendung von Variablen zum Speichern unserer Datenwerte.
Im Gegensatz zu den anderen Programmiersprachen beschränkt uns Bash nicht darauf, einen Datentyp der Variablen zu haben. Bash-Variablen können Zeichenfolgen, Zahlen, Zeichen oder alles, was Sie wollen, enthalten.
Außerdem müssen wir keine Variable deklarieren, um sie zu verwenden. Es reicht aus, ihm nur einen Wert zuzuweisen, bevor darauf verwiesen wird.
Schauen wir uns das einfache Beispiel zum Erstellen und Verwenden einer Variablen an:
#!/bin/bash
var="Hello World"
echo $var
Dieses Skript erstellt und speichert die Variable var
als Zeichenfolgenwert. Später, in der folgenden Zeile, haben wir den Wert dieser Variablen ausgegeben.
Beachten Sie, dass wir zum Verweisen auf eine Variable ein $
-Zeichen verwenden, um den Wert zu ersetzen, wenn das Skript ausgeführt wird.
Variableninterpolation in Bash-Skript
Sie müssen häufig den Variablenwert verwenden und ihn mit einem anderen Text oder einer anderen Zahl verketten. Dafür brauchen wir geschweifte Klammern, um auf eine Variable zu verweisen.
Es stellt sich die Frage, wo geschweifte Klammern {}
und wo runde Klammern ()
zu verwenden sind. Schauen wir uns den Unterschied zwischen den beiden an.
Verwendung von geschweiften Klammern {}
Geschweifte Klammern werden als Parametererweiterung bezeichnet. Geschweifte Klammern werden verwendet, wenn wir ein anderes Zeichen als Leerzeichen nach dem Wert der Variablen drucken müssen.
Dann setzen wir unsere Variable wie folgt in die geschweiften Klammern {}
:
#!/bin/bash
var="Hello"
echo ${var}World
Beachten Sie, dass wir im obigen Skript eine Variable var
erstellt und Hello
gespeichert haben. Im vorherigen Beispiel haben wir ohne die geschweiften Klammern darauf verwiesen, weil wir kein weiteres Wort damit hinzufügen mussten.
Wenn wir jetzt keine geschweiften Klammern hinzufügen, wird nach einer Variablen namens varWorld
gesucht, die nicht gefunden wird. Um dem Skript also den genauen Variablennamen mitzuteilen, haben wir ihn in geschweiften Klammern eingeschlossen.
Die Ausgabe davon ist wie folgt:
Verwendung von runden Klammern ()
Runde Klammern sind als Befehlserweiterung bekannt. Die Befehlssubstitution ermöglicht es, dass die Ausgabe des Befehls den Befehl selbst ersetzt.
Nach dem Entfernen nachgestellter Zeilenumbrüche führt Bash den Befehl aus und ersetzt die Befehlsersetzung durch die Standardausgabe des Befehls. Eingebettete Zeilenumbrüche werden nicht gelöscht; sie können jedoch während der Wortaufteilung entfernt werden.
Die Befehlsersetzung erfolgt, wenn eine Bestellung beigefügt wird, wie folgt:
#!/bin/bash
day = $(date)
echo "Today is ${day}"
Im obigen Skript ist date
ein Befehl, der das aktuelle Systemdatum und die Uhrzeit angibt. Beim Ausführen des Skripts wird also das Datum
durch die Ausgabe des Befehls ersetzt und der Variablen Tag
zugewiesen.
Der Befehl echo
gibt folgende Zeile aus:
Verwandter Artikel - Bash Variable
- Ändern Sie eine globale Variable innerhalb einer Funktion in Bash
- Bash-Variablen multiplizieren
- Befehle in einer Variablen im Bash-Skript ausführen
- Geltungsbereich der Bash-Variablen
- Inkrementiere den Variablenwert um eins in der Shell-Programmierung
- Überprüfen Sie, ob eine Variable einen Wert in Bash hat