Mehrzeilige Zeichenkette in Bash

Fumbani Banda 30 Januar 2023
  1. Verwenden Sie here-document, um eine mehrzeilige Zeichenkette in Bash zu erstellen
  2. Verwenden Sie die Shell-Variable, um einen mehrzeiligen String in Bash zu erstellen
  3. Verwenden Sie printf, um einen mehrzeiligen String in Bash zu erstellen
  4. Verwenden Sie echo mit der Option -e, um eine mehrzeilige Zeichenkette in Bash zu erstellen
  5. Verwenden Sie echo, um eine mehrzeilige Zeichenkette in Bash zu erstellen
Mehrzeilige Zeichenkette in Bash

Dieses Tutorial zeigt verschiedene Möglichkeiten, einen mehrzeiligen String in eine Datei in bash zu drucken, ohne zusätzlichen Leerraum (Einrückung) zu setzen, indem man here-document, die Shell-Variable, printf, echo und echo mit verwendet -e-Option.

Verwenden Sie here-document, um eine mehrzeilige Zeichenkette in Bash zu erstellen

Here-document bietet eine interaktive Möglichkeit, mehrzeilige Zeichenketten in eine Datei einzugeben. Das EOF ist als Here Tag bekannt. Das Here Tag teilt der Shell mit, dass Sie bis zum Here Tag einen mehrzeiligen String eingeben werden, da es als Trennzeichen dient. Das << wird verwendet, um das Here Tag zu setzen. Das > wird für die Eingabeumleitung verwendet. Es leitet die Eingabe in unserem Fall an die angegebene Datei output.txt weiter.

cat << EOF > output.txt
> Hello
> World
> !
> EOF

Lassen Sie uns den Inhalt der Datei output.txt mit dem Befehl cat überprüfen.

cat output.txt

Aus der Ausgabe sehen wir, dass jede Wortgruppe eine eigene Zeile hat und es keine zusätzlichen Leerzeichen gibt.

Hello
World
!

Verwenden Sie die Shell-Variable, um einen mehrzeiligen String in Bash zu erstellen

Hier verwenden wir eine Shell-Variable namens greet. Wir haben greet einen mehrzeiligen String zugewiesen.

greet="Hello
> ,
> wolrd
> !"

Der folgende Befehl ruft den mehrzeiligen String in der Shell-Variablen greet ab und leitet ihn mit > in die angegebene Datei multiline.txt um.

echo "$greet" > multiline.txt

Prüfen Sie den Inhalt der multiline.txt mit dem cat-Befehl.

cat multiline.txt

Aus der Ausgabe sehen wir, dass jede Wortgruppe eine eigene Zeile hat und es keine zusätzlichen Leerzeichen gibt.

Hello
,
wolrd
!

Verwenden Sie printf, um einen mehrzeiligen String in Bash zu erstellen

Wir können printf mit dem Zeilenumbruchzeichen verwenden und die Ausgabe mit > in eine Datei umleiten. Der Inhalt der Datei enthält keine zusätzlichen Leerzeichen.

#!/bin/bash

printf "Every word is on a seperate line!\n"
printf "%s\n" "Hello" "," "World" "!" > multiline.txt

Ausgabe:

Every word is on a separate line!

Drucken Sie den Inhalt von multiline.txt mit dem Befehl cat aus.

cat multiline.txt

Aus der Ausgabe sehen wir, dass jede Wortgruppe eine eigene Zeile hat und es keine zusätzlichen Leerzeichen gibt.

Hello
,
World
!

Verwenden Sie echo mit der Option -e, um eine mehrzeilige Zeichenkette in Bash zu erstellen

Das folgende Bash-Skript gibt die Wörter ohne zusätzliche Leerzeichen in multiline.txt aus. Die Option -e ermöglicht die Interpretation von Escape-Zeichen in der Variablen greet.

#!/bin/bash

greet="Hello\n,\nWorld\n!"
echo -e $greet > multiline.txt

Drucken Sie den Inhalt von multiline.txt mit dem Befehl cat aus

cat multiline.txt

Aus der Ausgabe sehen wir, dass jede Wortgruppe eine eigene Zeile hat und es keine zusätzlichen Leerzeichen gibt.

Hello
,
World
!

Verwenden Sie echo, um eine mehrzeilige Zeichenkette in Bash zu erstellen

Das folgende Skript weist einer Variablen namens greet einen mehrzeiligen String zu. Als nächstes wird der Inhalt der Variablen mit > in die multiline.txt-Dateien umgeleitet. Die Anführungszeichen auf der Variable greet behalten die neuen Zeilen bei.

#!/bin/bash

greet="Hello
,
World
!"
echo "$greet" > multiline.txt

Inhalt von multiline.txt mit cat-Befehl anzeigen.

cat multiline.txt

Aus der Ausgabe sehen wir, dass jede Wortgruppe eine eigene Zeile hat und es keine zusätzlichen Leerzeichen gibt.

Hello
,
World
!
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

Verwandter Artikel - Bash String