Here String: Unterschied zwischen den Versionen

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

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