cat EOF in Bash

Fumbani Banda 30 Januar 2023
  1. cat-EOF in Bash
  2. Eine mehrzeilige Zeichenkette in der Bash in eine Datei schreiben
  3. Übergabe einer mehrzeiligen Zeichenkette an Pipe in Bash
cat EOF 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
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 Cat