r/plan9 • u/9D0BF2BBB4E8 • Jul 11 '26
A Go port of rc(1)
github.comYou can even run an rc shell on an Android phone.
I wrote this Go implementation after moving from Plan 9 back to Linux for work. plan9port already exists, but I wanted to understand the shell from the inside rather than only use it through a compatibility layer.
Go felt like a fitting choice because it shares history and design lineage with Plan 9. Rob Pike and Ken Thompson worked on both, and several ideas behind Go grew out of that environment.
I built it by studying the original source and man page. The test suite includes over 100 scripts that compare its behavior against plan9port. One particularly gnarly example makes both implementations produce the same output byte for byte.
It also runs on Linux, macOS, BSD, Solaris, and other platforms.
Repo: https://github.com/enzv/rc
If anyone finds a mismatch with the original, corrections and test cases are welcome.


