Here-Documents
Zur Navigation springen
Zur Suche springen
Here-Documents
- A Here-Document ermöglicht es, mehrzeiligen Text direkt an ein Kommando zu übergeben.
- Dies ist besonders nützlich für Programme, die Eingaben aus Dateien oder STDIN erwarten.
Grundprinzip
- Ein Here-Document leitet alles zwischen einer Start- und End-Markierung an das Kommando weiter.
- Syntax: COMMAND <<MARKER … MARKER
Beispiel – Text an cat übergeben
- cat <<EOF
Hallo Welt Dies ist ein Beispiel für ein Here-Document. EOF
Ausgabe: Hallo Welt Dies ist ein Beispiel für ein Here-Document.
Beispiel – Variablen in Here-Document
- NAME=Thomas
- cat <<EOF
Hallo $NAME Willkommen! EOF
Ausgabe: Hallo Thomas Willkommen!
Beispiel – Without Variable Expansion
- NAME=Thomas
- cat <<'EOF'
Hallo $NAME Willkommen! EOF
Ausgabe: Hallo $NAME Willkommen!
Verwendung in Skripten
#!/bin/bash
mail -s "Betreff" user@example.com <<EOF
Hallo,
dies ist eine automatisch generierte Nachricht.
Viele Grüße
EOF
Hinweise
- Die Markierung (EOF) kann beliebig gewählt werden, sollte aber eindeutig sein.
- Mit einfachen Anführungszeichen um die Markierung werden Variablen nicht expandiert.
- Mit Here-Documents lassen sich Konfigurationen, E-Mails oder mehrzeilige Eingaben direkt in Skripten erzeugen.
Aufgaben
- Erstellen Sie ein Here-Document, das an cat weitergeleitet wird und drei Zeilen Text enthält.
- Erzeugen Sie ein Here-Document, das eine Variable enthält und überprüfen Sie die Ausgabe mit und ohne einfache Anführungszeichen.
- Schreiben Sie ein Skript, das ein Here-Document an mail oder echo weiterleitet.