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
echomit 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 ! 