Minishell is a project that challenges you to create your own simple shell, similar to bash. This project delves deep into process creation and management, as well as file descriptors.
Features:
- Display a prompt for new commands
- Working command history
- Search and launch executables based on PATH or absolute/relative paths
- Handle single quotes (') and double quotes (")
- Implement redirections (<, >, <<, >>)
- Implement pipes (|)
- Handle environment variables
- Handle $? special variable
- Handle signals (ctrl-C, ctrl-D, ctrl-)
- Implement built-in commands: echo, cd, pwd, export, unset, env, exit
Technologies Used:
- C Language
- Process Management
- Signal Handling
- File Descriptors
- Compile the program:
make
- Run the shell:
./minishell
- You can now enter commands as you would in a regular shell.
Contributions to this project are welcome. If you find any issues or want to improve the code, please feel free to open a pull request or issue.
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions or would like to collaborate, please do not hesitate to contact me at email or LinkedIn