此bash重定向行为的原因

Aza*_*zad 1 bash

为什么要echo a > file1 > file2创建两个文件但只写入file2?(file1是空的.)

mel*_*ene 5

因为I/O重定向是从左到右处理的.行动顺序是:

  1. 开放file1写作(如果它不存在则创建它).
  2. 重定向stdoutfile1.
  3. 开放file2写作(如果它不存在则创建它).
  4. 重定向stdoutfile2.
  5. echo a.