管道¶
形如 env | wc 这样的命令利用了「管道」语法,将两条不同的命令「对接」在一起同时运行。| 的意思是将前面的命令 env(输出所有环境变量)的标准输出连接到后面命令 wc(统计行数)的标准输入(这样就能统计出环境变量的总数)。
请你观察并学习这个语法,为你的 shell 程序实现这一功能。你可能要用到的函数:pipe、close、dup 等。
样例:
$ ls | cat -n
1 Cargo.lock
2 Cargo.toml
3 README.md
4 src
5 target
$ ls | cat -n | grep 1
1 Cargo.lock
边界情况说明:
- 你不需要考虑含有内建命令的管道;
- 你可以认为
|符号的两边总是各有至少一个空格字符。
| 要求 | 满分 |
|---|---|
| 支持两条命令的管道 | 10% |
| 支持任意多条命令的管道 | 10% |