< 的正確文字名稱

< 的正確文字名稱

我剛剛遇到這個<<指令,用法如下:

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如下)。在建立一個引用的此處文件後引用單字或部分單字<<,shell 不會在其中執行擴充。

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

答案3

在 Unix 環境中,它確實被稱為“此處文件”。我相信「heredoc」構造來自 PHP、Perl 和其他腳本語言,對於 shell 腳本,我傾向於堅持使用「here document」。

相關內容