< の正しいテキスト名

< の正しいテキスト名

次のように使用されるコマンドに遭遇しました<<:

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

さて、これが何と呼ばれているのか全く分かりませんが、その名前を知りたいです。主な目的は、検索して構文について詳しく調べることです。残念ながら、「<<」を Google 検索してもうまくいきません。

答え1

それは「ヒアドキュメント」と呼ばれます。

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

答え2

これはリダイレクトの一種で、ここに文書またはヒアドキュメント指定されたインライン ドキュメントの内容をコマンドにリダイレクトします。ドキュメントは指定された単語 (EOT以下) で区切られます。単語またはその一部を後に引用すると、<<シェルが展開を実行しない引用された here-document が作成されます。

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

答え3

Unix のコンテキストでは、これは実際には「ヒア ドキュメント」として知られています。「ヒアドキュメント」構造は PHP、Perl、およびその他のスクリプト言語に由来するものであり、シェル スクリプトの場合は「ヒア ドキュメント」を使用する傾向があると思います。

関連情報