cat EOF in Bash
- cat-EOF in Bash
- Eine mehrzeilige Zeichenkette in der Bash in eine Datei schreiben
- Übergabe einer mehrzeiligen Zeichenkette an Pipe in Bash
In diesem Tutorial wird erklärt, was cat EOF ist und wie es in der Bash verwendet wird.
cat-EOF in Bash
cat
ist ein Bash-Befehl zum Lesen, Anzeigen oder Verketten des Inhalts einer Datei, während EOF
für End Of File
steht. Das EOF
zeigt der Shell an, dass die gelesene Datei beendet wurde. cat << eof
verwendet here-document
. Die Umleitungsoperatoren <<
und <<-
ermöglichen beide die Umleitung nachfolgender Zeilen, die von der Shell gelesen werden, auf die Eingabe eines Befehls. Die umgeleiteten Zeilen heißen here-document
.
Das hier-Dokument
verwendet das folgende Format.
[n] << word
here-document
delimeter
Das here-document
wird als einzelnes Wort behandelt, das nach dem nächsten Zeilenumbruch beginnt. Es wird fortgesetzt, bis eine Zeile vorhanden ist, die nur das Trennzeichen enthält, oder eine neue Zeile ohne Leerzeichen dazwischen.
Eine mehrzeilige Zeichenkette in der Bash in eine Datei schreiben
cat
, <<
, EOF
und >
bieten eine interaktive Möglichkeit, einen mehrzeiligen String 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. Das <<
wird verwendet, um das Here Tag
zu setzen. Das >
wird verwendet, um den Eingabeinhalt in eine angegebene Datei umzuleiten, in unserem Fall multiline.txt
.
cat << EOF > multiline.txt
> This is the first line
> This is the second line
> This is the third line
> EOF
Wir können auch cat
, <<
, EOF
und >
verwenden, um Bash-Skripte wie unten interaktiv zu schreiben.
cat << EOF > script.sh
#!/bin/bash
printf "Hello\n"
printf "Wordl!\n"
EOF
Übergabe einer mehrzeiligen Zeichenkette an Pipe in Bash
Der folgende Code verwendet cat
, eof
und pipe, um den Inhalt von mehrzeiligen EingabeZeichenketten an eine angegebene Pipe und einen angegebenen Befehl umzuleiten. Die Eingabe wird an den grep-Befehl weitergeleitet, der nach String A
sucht, und die übereinstimmende Eingabe wird an den tee
-Befehl geleitet. Der Befehl tee
kopiert die Eingabe in die Datei fruits.txt
.
cat <<EOF | grep 'A' | tee fruits.txt
> Apple
> Orange
> Apricot
> Banana
> EOF
Prüfen wir den Inhalt der Datei fruits.txt
mit cat
.
cat fruits.txt
Ausgabe:
Apple
Apricot