Here String
Version vom 8. Juni 2023, 05:10 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „=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-Str…“)
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.
- Oder auch um eine Variable als Eingabe weiterzuleiten, ohne eine Zwischenspeicherung in einer Datei vornehmen zu müssen.
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.
cat <<< "Das ist ein Text" VAR1=$(cat <<< "Das ist ein anderer Text") echo $VAR1
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 Variable $line speichert.
- Der eingelesene Wert wird dann mit echo ausgegeben.*
read -r line <<< "Dies ist ein Beispiel" echo $line
Beispiel 3
- Der Here-String <<< ermöglicht es, den String "192.168.77.1" als Eingabe für den Befehl read zu verwenden, der die IP-Adresse anhand des Trennzeichens . in das Array OKT aufteilt.
- Die einzelnen Teile der IP-Adresse werden dann mit echo separat ausgegeben, zum Beispiel OKT0 für den ersten Teil, OKT1 für den zweiten Teil und so weiter.
IFS=. read -ra OKT <<< "192.168.77.1"
echo OKT0: ${OKT[0]}
echo OKT1: ${OKT[1]}
echo OKT2: ${OKT[2]}
echo OKT3: ${OKT[3]}