Variableninterpolation in Bash-Skript

Naila Saad Siddiqui 15 Februar 2024
  1. Variablen in Bash-Skript
  2. Variableninterpolation in Bash-Skript
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.

Erstellen und Verwenden einer Variablen

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:

Bash-Variableninterpolation - Verwendung von geschweiften Klammern

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:

Bash-Variableninterpolation - Verwendung von runden Klammern

Verwandter Artikel - Bash Variable