here-Dokumente:

Eng mit der Eingabeumlenkung verwandt sind here-Dokumente. Dabei wird die Eingabe eines Kommandos direkt im Kommando erzeugt, indem als Operator << angegeben wird, gefolgt von einer frei wählbaren Endemarkierung. Aus dem Skript (oder von der Tastatur bei einem interaktiven Kommando, da macht es nur keinen Sinn) wird dann Text gelesen und an das Kommando weitergereicht, bis die Endemarkierung am Anfang einer Zeile auftritt:
fgrep Hallo << ichhabefertig
Hallo, Max
Holdrio
Hallo, mein Name ist $USER
ichhabefertig
Hier wird alles nach dem fgrep-Kommando bis (ausschließlich) der ichhabefertig-Zeile als Standardeingabe an das fgrep gereicht.

In dieser Form wird innerhalb des here-Dokuments wie üblich eine Expansion von Variablen, Kommandos und arithmetischen Ausdrücken durchgeführt. Der Endetext hinter Operator << wird dagegen generell nicht ausgewertet.

Allerdings kann er ganz oder teilweise in Gänsefüßchen oder Apostrophe eingeschlossen werden (quoted); dann findet innerhalb des here-Dokuments auch keine Ersetzung mehr statt (beispielsweise für $USER).

Eine weitere Variante ist die Verwendung des Operators <<- anstatt <<. Dadurch werden im gesamten here-Dokument in jeder Zeile führende Leerzeichen und Tabulatoren entfernt. Dadurch lassen sich Skripte schöner schreiben, ohne die Einrückungen zu unterbrechen.

AnyWare@Wachtler.de