猫魔法 - 输入结束

时间:2009-08-30 22:37:55

标签: linux shell

当在命令行上输入“cat> xx.txt<<< EOF”时,cmdline的进一步输入将转到文件xx.txt,直到写入EOF。 EOF在这里不是一个神圣的词,如果命令是cat> xx.txt<< BBB,然后cmdline输入转到xx.txt直到写入BBB。我不知道背后的基本原理(<<< end_of_input_sequence)了。猫手册页没有解释太多。 我只在脚本等中看到过这个。

3 个答案:

答案 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; - )