Bash Scripting - Here Documents


Thomas Darimont

Premium-User
Hallo,


hier mal ein kleines Beispiel zur Verwendung von Here Documents in der Bash:
Code:
tom@gauss:~$ python -- - << "XXX"
msg="tutorials.de"
print "\n%s - user helfen usern.\n" % (msg)
XXX
Über die Zeichenfolge -- - wird dem Konsolenprogramm (in diesem Fall Python)
mitgeteilt, dass das Zeichen - nicht als Command Line Flag betrachtet werden soll.
Statt dessen wird dann ab dem - Zeichen die weiteren Angaben als Eingabe von stdin an das
Programm weitergegeben.


Über die Zeichenfolge << "XXX" wird dann das eigentliche here document eingeleitet. Die
"freidefinierbare" Zeichenfolge XXX dient hier als Delimiter / Begrenzung für die Standardeingabe.
Die folgenden Eingaben über stdin werden "aufgesammelt" bis der angegebene Delimiter, in diesem Fall die
Zeichenfolge XXX auftritt. Anschließend wird die aufgesammelte Zeichenfolge an das aufgerufene Kommando übergeben.


Ausgabe:
Code:
tutorials.de - user helfen usern.

Mehr dazu gibt es hier:
http://tldp.org/LDP/abs/html/here-docs.html


Btw. im Falle von Python hätte kann man über python '-' die Standardeingabe direkt an den
python Interpreter weitergeben.


Bsp.:
Code:
echo "print 'Hello World'" | python '-'

Gruß Tom