刚刚遇到以下命令:
cat > myspider.py <<EOF
但我不确定是否使用了>
和<<
。
答案 0 :(得分:3)
<<EOF
是heredoc的开始。此行之后以及仅包含EOF
的下一行之前的内容将在stdin上提供给流程cat
。
> myspider.py
是一个标准重定向。 myspider.py
如果已经存在(并且是常规文件)将被截断,并且cat
的输出将被写入其中。
由于cat
没有命令行参数(这是因为重定向被解释为shell如何设置进程的指令,而不是作为参数传递给cat
)从其输入读取并写入其输出,<<EOF
表示应将以下行作为输入写入进程,>myspider.py
表示应将输出写入myspider.py
,因此将所有内容写入下一个EOF
到myspider.py
。
请参阅: