Here String: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 1: | Zeile 1: | ||
| − | = | + | = Here-Strings in Bash = |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | = | + | == Was ist das? == |
| − | *Mit dem Here-String <<< | + | * 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. | |
| − | =Beispiel 2= | + | == Prinzip == |
| − | *Durch die Verwendung von <<< wird der String | + | <syntaxhighlight lang="bash"> |
| − | *Der eingelesene Wert wird dann mit echo ausgegeben. | + | cat <<< "Das ist ein Text" |
| − | + | </syntaxhighlight> | |
| − | + | ||
| − | =Beispiel 3= | + | Ausgabe: |
| − | *Der Here-String <<< ermöglicht es, den String | + | <pre> |
| − | *Die einzelnen Teile der IP-Adresse werden | + | Das ist ein Text |
| − | + | </pre> | |
| − | + | ||
| − | + | == 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. | |
| + | |||
| + | <syntaxhighlight lang="bash"> | ||
| + | VAR1=$(cat <<< "Das ist ein anderer Text") | ||
| + | echo $VAR1 | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | Ausgabe: | ||
| + | <pre> | ||
| + | Das ist ein anderer Text | ||
| + | </pre> | ||
| + | |||
| + | == 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. | ||
| + | |||
| + | <syntaxhighlight lang="bash"> | ||
| + | read -r line <<< "Dies ist ein Beispiel" | ||
| + | echo $line | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | Ausgabe: | ||
| + | <pre> | ||
| + | Dies ist ein Beispiel | ||
| + | </pre> | ||
| + | |||
| + | == 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. | ||
| + | |||
| + | <syntaxhighlight lang="bash"> | ||
| + | IFS=. read -ra OKT <<< "192.168.77.1" | ||
| + | echo OKT0: ${OKT[0]} | ||
| + | echo OKT1: ${OKT[1]} | ||
| + | echo OKT2: ${OKT[2]} | ||
| + | echo OKT3: ${OKT[3]} | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | Ausgabe: | ||
| + | <pre> | ||
| + | OKT0: 192 | ||
| + | OKT1: 168 | ||
| + | OKT2: 77 | ||
| + | OKT3: 1 | ||
| + | </pre> | ||
Version vom 12. Oktober 2025, 19:40 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