什么是“cat&gt; somefilename&lt; <eof”(特别是,=“”=“”“大于=”“和”“”双=“”小于=“”符号)=“”do =“ “in =”“shell?=”“

时间:2016-09-19 22:35:48

标签: bash shell

=”“

刚刚遇到以下命令:

cat > myspider.py <<EOF

但我不确定是否使用了><<

1 个答案:

答案 0 :(得分:3)

<<EOF是heredoc的开始。此行之后以及仅包含EOF的下一行之前的内容将在stdin上提供给流程cat

> myspider.py是一个标准重定向。 myspider.py如果已经存在(并且是常规文件)将被截断,并且cat的输出将被写入其中。

由于cat没有命令行参数(这是因为重定向被解释为shell如何设置进程的指令,而不是作为参数传递给cat)从其输入读取并写入其输出,<<EOF表示应将以下行作为输入写入进程,>myspider.py表示应将输出写入myspider.py,因此将所有内容写入下一个EOFmyspider.py

请参阅: