← Back to Projects
Completed

C Shell

A custom Unix shell implementation in C featuring command parsing, I/O redirection, piping, background processes, and built-in commands.

Started: January 2023Released: February 2023

About This Project

A Unix shell implementation written in C as part of an academic project. This shell provides core functionality expected from a command-line interpreter, including tokenization and parsing of user input, environment variable expansion, tilde expansion for home directories, and PATH-based executable resolution.\n\nThe shell supports advanced features such as I/O redirection (input < and output >), command piping with support for up to two pipes, and background process execution using the & operator. Built-in commands include cd (with support for absolute/relative paths, ., .., and home directory), echo, jobs, and exit. The shell also maintains a command history and displays the last three valid commands upon exit.\n\nDeveloped collaboratively by Josh Lowe and Jacob Nemeth, the project demonstrates proficiency in systems programming concepts including process forking, file descriptors, signal handling, and memory management.

Tech Stack

CGCCMakePOSIX
academic-project