Here String: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
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…“
 
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=Was ist das?=
== Here-Strings in Bash ==
*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.
== Was ist das? ==
*Here-Strings sind nützlich, um einen Stringwert als Eingabe für Befehle zu verwenden, die normalerweise Dateien erwarten.
* Ein Bash Here-String ermöglicht die Weiterleitung eines einzelnen Strings als Eingabe für einen Befehl oder eine Anweisung.
*Oder auch um eine Variable als Eingabe weiterzuleiten, ohne eine Zwischenspeicherung in einer Datei vornehmen zu müssen.
* Mit dem Here-String-Operator '''<<<''' kann der String direkt im Skript definiert werden, ohne dass er in eine separate Datei geschrieben werden muss.
=Beispiel 1=
* Here-Strings sind nützlich, um einen Stringwert als Eingabe für Befehle zu verwenden, die normalerweise Dateien erwarten.
*Mit dem Here-String <<< wird der Text "Das ist ein Text" an den Befehl cat weitergeleitet und direkt ausgegeben.
* Sie können auch verwendet werden, um Variablen als Eingabe weiterzuleiten, ohne eine Zwischenspeicherung in einer Datei vorzunehmen.
*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"
== Prinzip ==
VAR1=$(cat <<< "Das ist ein anderer Text")
<syntaxhighlight lang="bash">
echo $VAR1
cat <<< "Das ist ein Text"
=Beispiel 2=
</syntaxhighlight>
*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.*
Ausgabe:
read -r line <<< "Dies ist ein Beispiel"
<pre>
echo $line
Das ist ein Text
=Beispiel 3=
</pre>
*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.
== Beispiel 1 ==
IFS=. read -ra OKT <<< "192.168.77.1"
* Mit dem Here-String '''<<<''' wird der Text „Das ist ein Text“ an den Befehl '''cat''' weitergeleitet und direkt ausgegeben.
echo OKT0: ${OKT[0]}
* 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.
echo OKT1: ${OKT[1]}
 
echo OKT2: ${OKT[2]}
<syntaxhighlight lang="bash">
echo OKT3: ${OKT[3]}
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>

Aktuelle Version vom 25. November 2025, 14: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