Genuinely curious: what are some of the interesting things in writing your own shell? Was it the programming language interpretation aspect, or having to learn the kernel's API for forking tasks and redirecting, etc.?
Well it was my first low level experience so a lot of it was new to me - I hadn't even used C before so pointers alone were a revelation of sorts. I was blown away by the idea of interpretation and then once we delved into forking and processes (and zombie processes), well I truly went down the rabbit hole. It was really cool implementing your own system hooks with Minix - being able to press F12 to get a formatted tables of all running system calls was supremely satisfying. I fully appreciated how complicated and yet in a way beautiful OSes could be and it forced me to learn how to sweat the small stuff and build good software from the ground up.
Not OP but also had to write my own shell, as well as the kernel APIs for forking and whatnot. The kernel APIs are definitely interesting, but I think the biggest dopamine rush was once the way to parse and structure commands "clicked" and suddenly shells made a whole lot of sense.
also being able to look at the source code for a kernel and saying "ah ha! so that's where the process table is created" is also a lot of fun...kind of like uncovering ancient artifacts and learning to read the glyphs