Korrekter Textname für

Korrekter Textname für

Ich bin gerade auf den Befehl gestoßen <<, der folgendermaßen verwendet wird:

cat > outfile.txt <<EOF
Multi-line content
that will be written to outfile.txt
EOF

Ich habe zwar keine Ahnung, wie das heißt, würde aber gern den Namen wissen, vor allem, damit ich mehr über die Syntax herausfinden kann. Leider funktioniert das Googeln nach „<<“ einfach nicht.

Antwort1

Das nennt man ein „Here-Dokument“.

http://en.wikipedia.org/wiki/Hier_Dokument

Antwort2

Diese Form der Umleitung wird alshier Dokumentoderhierdoc. Es leitet den Inhalt des angegebenen Inline-Dokuments an einen Befehl weiter. Das Dokument wird durch das angegebene Wort ( EOTunten) abgegrenzt. Wenn Sie das Wort oder einen Teil des Wortes danach in Anführungszeichen setzen, <<wird ein in Anführungszeichen gesetztes Here-Dokument erstellt, in dem die Shell keine Erweiterungen durchführt.

$ tac << EOT
> 123
> 456
> EOT
456
123

Antwort3

Im Unix-Kontext ist es eigentlich als „Here-Dokument“ bekannt. Ich glaube, dass die „Heredoc“-Konstruktion aus PHP, Perl und anderen Skriptsprachen stammt, und für Shell-Skripte würde ich eher bei „Here-Dokument“ bleiben.

verwandte Informationen