管道¶
形如 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% |