刚刚遇到以下命令:
cat > myspider.py <<EOF
但我不确定 >
的用途和 <<
.
最佳答案
<<EOF
是 heredoc 的开始。此行之后和下一行之前的内容仅包含 EOF
在 stdin 上被馈送到进程 cat
.
> myspider.py
是标准输出重定向。 myspider.py
如果它已经存在(并且是一个常规文件)和 cat
的输出将被截断将写入其中。
自 cat
在没有命令行参数的情况下(这里是这种情况,因为重定向被解释为关于如何设置进程的 shell 指令,而不是作为参数传递给 cat
)从其输入读取并写入其输出, <<EOF
指示应将以下行作为输入写入流程,>myspider.py
指示输出应写入 myspider.py
, 这因此将所有内容写入下一个 EOF
进入myspider.py
.
参见:
关于bash - "cat > somefilename <<EOF"(特别是大于号和双小于号)在 shell 中有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39583092/