有人可以解释一下“<<”在以下代码中?
mysql test<<E0Q
Select * from signins
我会尝试自己搜索,但很难找到符号......
谢谢, 丹
答案 0 :(得分:8)
这是“此处文件”,请参阅http://www.linuxjournal.com/article/3771
答案 1 :(得分:3)
Here docs,或者是一种轻松将大型文本块输入程序的方法。
答案 2 :(得分:3)
它不仅用于管道。例如,Linux From Scratch演练中使用的脚本广泛使用heredocs与cat
命令和输出重定向运算符(>
)结合使用。这是一个这样的例子:
user@domain ~$ cat >test.c <<EOF
int main(void){return 0;}
EOF
user@domain ~$
将&lt;&lt;&lt; EOF start分隔符和EOF结束分隔符之间的所有文本写入文件`test.c',一旦遇到EOF结束分隔符,就会返回到shell提示符。< / p>
答案 3 :(得分:2)
他们在这里被称为文件。从手册:
此处文件
This type of redirection instructs the shell to read input from the current source until a line containing only word (with no trailing blanks) is seen. All of the lines read up to that point are then used as the standard input for a command. The format of here-documents is: <<[-]word here-document delimiter
答案 4 :(得分:0)