A Zero-dependency UNIX Shell (from xv6)
Shell 是 Kernel 之外的 “壳”
我们移植了 xv6 的 shell
- 零库函数依赖 (-ffreestanding 编译、ld 链接)
- 可以作为最小 Linux 的 init 程序
支持的功能
- 重定向/管道
ls > a.txt
, ls | wc -l
- 后台执行
ls &
- 命令组合
(echo a ; echo b) | wc -l
阅读代码
应该如何阅读代码?
- strace
- gdb
- AskGPT: How to debug a process that forks children processes in gdb?
- 以及,定制的 visualization
理解管道
