I’ve been using the commandline for a while, especially Bash but I never thought about how they had been developed or their inner workings. I moved to ZSH after using Bash for a while but it never really occurred to me that there was a lot more than meets the eye so when my friend mentioned his assignment of building out a shell, I wanted to see if I could as well.
I read through a lot of documentation and system calls to figure out sort of how a shell works and I was able to construct a very basic one. It doesn’t have piping or job control but I do plan on getting it done soon! Nevertheless I learned a ton doing this and I think I now fully appreciate just how much work has gone into the shells that we all use today.