Mehrzeilige Zeichenkette in Bash
-
Verwenden Sie
here-document
, um eine mehrzeilige Zeichenkette in Bash zu erstellen - Verwenden Sie die Shell-Variable, um einen mehrzeiligen String in Bash zu erstellen
-
Verwenden Sie
printf
, um einen mehrzeiligen String in Bash zu erstellen -
Verwenden Sie
echo
mit der Option-e
, um eine mehrzeilige Zeichenkette in Bash zu erstellen -
Verwenden Sie
echo
, um eine mehrzeilige Zeichenkette in Bash zu erstellen
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
!