Table of Contents
Here Dokument
cat > termine <<EOF
16.02 Geschenke besorgen
17.02 Geschenke einpacken
18.02 Party
EOF
Diese Bash-Zeilen erstellen eine Datei mit dem Namen "termine" und fügen die folgenden Zeilen in diese Datei ein:
-
cat > termine
: Dieser Befehl verwendet das cat-Kommando, um Text von der Standardeingabe zu lesen und in die Datei "termine" zu schreiben. Wenn die Datei bereits existiert, wird sie überschrieben. -
<<EOF
: Dies ist ein sogenanntes "Here-Dokument" oder "Here-Document". Es ermöglicht das Einfügen mehrerer Zeilen Text in einen Befehl oder eine Datei, bis ein bestimmtes Schlüsselwort erreicht wird. In diesem Fall ist das Schlüsselwort "EOF" (End of File), und es markiert das Ende des einzufügenden Textes. -
Die Zeilen zwischen
<<EOF
undEOF
sind der Text, der in die Datei "termine" eingefügt wird. In diesem Fall handelt es sich um drei Zeilen mit Terminen und Ereignissen:- "16.02 Geschenke besorgen"
- "17.02 Geschenke einpacken"
- "18.02 Party"
Nach Ausführung dieser Bash-Zeilen wird die Datei "termine" erstellt oder überschrieben und enthält diese Termine als Inhalt.
Übung mit Kommandosubstitution
Wird bei einem Hier-Dokument die Zeichenkette, die das Ende des Hier-Dokuments bezeichnet, ohne Anführungszeichen angegeben, so werden in den Zeilen des Hier-Dokuments Shellvariable ersetzt und Kommandosubstitution (mit ... oder $( ... ) ) vorgenommen. Steht die End-Zeichenkette allerdings in Anführungszeichen (egal ob einfachen oder doppelten), bleiben die Zeilen des Hier-Dokuments so, wie sie sind. Vergleichen Sie die Ausgabe von
cat <<EOF
Heutiges Datum: `date`
EOF
cat <<"EOF"
Heutiges Datum: `date`
EOF
Zu guter Letzt: Wird das Hier-Dokument nicht mit <<, sondern mit <<- eingeleitet, so werden alle Tabulatorzeichen am Anfang jeder Zeile des Hier-Dokuments entfernt. Dies macht es möglich, Hier-Dokumente in Shellskripten sinnvoll einzurücken.
Das Wiki zu den Fächern BSA und AIS. Home