This project implements a simple shell with essential features inspired by the Bash shell. It is designed to demonstrate fundamental concepts of shell programming using C. The shell supports basic commands, chaining, aliasing, and dynamic handling of environment variables.
-
Execution of Bash Commands
- Execute standard Bash commands directly within the shell.
-
Command Chaining
- Support for chaining commands using
;
.
- Support for chaining commands using
-
Aliasing
- Define and use command aliases for convenience.
-
Environment Variable Management
- View, set, and modify environment variables dynamically.
- Many standard library functions in C have been replaced with custom-built versions to demonstrate proficiency and provide a tailored shell experience.
- The project uses a linked list to handle dynamic environment variable management efficiently.
To compile the shell, run the following command in your terminal:
gcc *.c -o shell
Once compiled, you can run the shell with:
./shell
- The shell is implemented entirely in C.
- It emphasizes simplicity, efficiency, and a clear demonstration of fundamental concepts like process management and memory handling.
This project was built during my study in ALX Software Engineering Program.