cat > filename << EOF vs cat << EOF > filename
当我测试它时,看起来它们是等价的,但我不完全理解为什么会这样。
我知道这个命令的目的是不断地将STDOUT转换为filename,直到我键入EOF,然后按CTRL-D。
cat > filename << EOF (就其顺序而言)对我来说很有意义:将内容输出到filename中,直到我按Eof键告诉它停止为止。
但令我惊讶的是,cat << EOF > filename也能工作。我听说bash是从左到右读的。在这种情况下,我的STDOUT如何获取filename?
发布于 2021-07-09 12:58:14
<< EOF控制去往cat的标准输入的内容。
> filename控制cat的stdout的去向。
应用这两种方法的顺序并不重要,结果是相同的。当然,cat负责将其输入复制到其输出。
https://stackoverflow.com/questions/68311430
复制相似问题