当在命令行上输入“cat> xx.txt<<< EOF”时,cmdline的进一步输入将转到文件xx.txt,直到写入EOF。 EOF在这里不是一个神圣的词,如果命令是cat> xx.txt<< BBB,然后cmdline输入转到xx.txt直到写入BBB。我不知道背后的基本原理(<<< end_of_input_sequence)了。猫手册页没有解释太多。 我只在脚本等中看到过这个。
答案 0 :(得分:9)
这是shell的一个功能,而不是cat
- 这就是为什么你不会在cat
手册中找到它。
它被称为“此处文档” - 有关某些文档,请参阅Advanced Bash-Scripting Guide的此页面。
答案 1 :(得分:7)
这称为here document。我相信它最初出现在shell中,但是一些编程语言,如Perl,Ruby和PHP也实现了这种风格。
答案 2 :(得分:4)
此语法称为Here Document(滚动一下以找到它)。
它不是特定于任何命令,而不是任何其他命令的猫;它可以在贝壳的人身上找到;例如,man bash
:
3.6.6此处文件
这种重定向指示 shell从当前读取输入 源直到只包含一行 单词(没有尾随空格)是 看到。所有的线都读到了 然后将该点用作标准 输入命令。
(不是完整的引用 - 还有更多内容可供阅读)
BTW,这是一种在某些编程语言中重用的语法,如PHP; - )