我刚刚遇到这个<<
命令,使用方式如下:
cat > outfile.txt <<EOF
Multi-line content
that will be written to outfile.txt
EOF
现在,我不知道这叫什么,但我很想知道它的名称,主要是这样我可以去搜索并找到有关其语法的更多信息。遗憾的是,谷歌搜索“<<”是行不通的。
答案1
这被称为“此处的文档”。
答案2
它的重定向形式称为这里的文档或者特雷多克。它将给定内联文档的内容重定向到命令。该文档由给定单词分隔(EOT
如下)。在创建一个引用的此处文档后引用单词或部分单词<<
,shell 不会在其中执行扩展。
$ tac << EOT
> 123
> 456
> EOT
456
123
答案3
在 Unix 环境中,它确实被称为“此处文档”。我相信“heredoc”构造来自 PHP、Perl 和其他脚本语言,对于 shell 脚本,我倾向于坚持使用“here document”。