Here String: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 1: | Zeile 1: | ||
| − | = Here-Strings in Bash = | + | == Here-Strings in Bash == |
== Was ist das? == | == Was ist das? == | ||
Aktuelle Version vom 25. November 2025, 12:56 Uhr
Here-Strings in Bash
Was ist das?
- Ein Bash Here-String ermöglicht die Weiterleitung eines einzelnen Strings als Eingabe für einen Befehl oder eine Anweisung.
- Mit dem Here-String-Operator <<< kann der String direkt im Skript definiert werden, ohne dass er in eine separate Datei geschrieben werden muss.
- Here-Strings sind nützlich, um einen Stringwert als Eingabe für Befehle zu verwenden, die normalerweise Dateien erwarten.
- Sie können auch verwendet werden, um Variablen als Eingabe weiterzuleiten, ohne eine Zwischenspeicherung in einer Datei vorzunehmen.
Prinzip
cat <<< "Das ist ein Text"
Ausgabe:
Das ist ein Text
Beispiel 1
- Mit dem Here-String <<< wird der Text „Das ist ein Text“ an den Befehl cat weitergeleitet und direkt ausgegeben.
- Im zweiten Teil wird der Here-String verwendet, um den Text „Das ist ein anderer Text“ in die Variable $VAR1 zu speichern, die dann mit echo ausgegeben wird.
VAR1=$(cat <<< "Das ist ein anderer Text")
echo $VAR1
Ausgabe:
Das ist ein anderer Text
Beispiel 2
- Durch die Verwendung von <<< wird der String „Dies ist ein Beispiel“ als Eingabe an den Befehl read weitergeleitet, der den eingelesenen Wert in der Variablen $line speichert.
- Der eingelesene Wert wird dann mit echo ausgegeben.
read -r line <<< "Dies ist ein Beispiel"
echo $line
Ausgabe:
Dies ist ein Beispiel
Beispiel 3
- Der Here-String <<< ermöglicht es, den String „192.168.77.1“ als Eingabe für den Befehl read zu verwenden.
- Der Befehl teilt die IP-Adresse anhand des Trennzeichens „.“ in das Array OKT auf.
- Die einzelnen Teile der IP-Adresse werden anschließend separat ausgegeben.
IFS=. read -ra OKT <<< "192.168.77.1"
echo OKT0: ${OKT[0]}
echo OKT1: ${OKT[1]}
echo OKT2: ${OKT[2]}
echo OKT3: ${OKT[3]}
Ausgabe:
OKT0: 192 OKT1: 168 OKT2: 77 OKT3: 1