Skip to content

九、管道与重定向 ​

本章是 Shell 的"数据流水线"核心,也是高频出错区。重点讲清重定向的求值顺序、cmd 2>&1 >file 与 cmd >file 2>&1 的天壤之别、管道的退出状态与 pipefail、管道子 Shell 导致的变量丢失,以及 SIGPIPE。

本章目录 ​

学习目标(对应 Prompt 强制项) ​

  1. 掌握 FD 0/1/2 与自定义 FD 的重定向与 exec 用法。
  2. 说清 cmd >file 2>&1 与 cmd 2>&1 >file 的差异(实测对照)。
  3. 理解管道两端的进程关系、缓冲与背压;掌握管道退出状态与 pipefail 的非 POSIX 性。
  4. 识别管道循环中的子 Shell 变量丢失,并会用重定向/进程替换修复。
  5. 理解 SIGPIPE、消费者提前退出与 Here Document 的引用/缩进/展开。
  6. 会分别验证 stdout、stderr 与退出状态。

前置知识 ​

关联章节 ​

ICP 备案号待补充 · Gitee 主页