This project is a second rewrite of a custom UNIX-like shell, developed as a hands-on exercise while studying "Operating Systems: Three Easy Pieces" (OSTEP). The primary goal is to deepen my understanding of C programming, process management, pipes, and redirection in a UNIX environment.
This project is entirely written in C, and compiled with gcc.
To compile install gcc, clone the repo, and run make in the project's root. If successful you should have a binary in bin/mishell
You can run the shell in two modes:
- Batch mode: passing a file with a list of commands to run in batch
bin/mishell batch.txt - Interpreter mode: running the shell with no arguments
bin/mishell
- Simple configuration via .rc file
- Background color
- Prompt color
- Path
- Start sounds (annoying feature)
- Quote of the day
- Piping
- Output redirection
- Built-in commands: exit, cd, setpath
- Parallel command execution
Authors of Operating Systems: Three Easy Pieces. Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau, Arpaci-Dusseau Books, November, 2023 (Version 1.10)