From bd18752fdcfafa602a4c0f6306c2e1ac42e54aee Mon Sep 17 00:00:00 2001 From: mdev9 <101509204+mdev9@users.noreply.github.com> Date: Thu, 17 Oct 2024 07:33:46 +0200 Subject: [PATCH] Create README.md --- README.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..98f1281 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# 🐚 minishell – Custom UNIX Shell 💻 + +Welcome to **minishell**, a project that implements a **custom UNIX shell** from the ground up! 🌟 This shell allows for command execution, pipe management, and process handling. 🌐 + +## 📝 Project Overview + +In this project, we create a fully functional **UNIX shell** that supports various commands, piping between processes, and robust error handling. The shell is designed to handle signals 📡 and fork processes efficiently 🍴, simulating the behavior of bash and other traditional UNIX shells. 🚀 + +### Features: +- 🔹 **Command execution**: Run shell commands with ease. +- 🔹 **Pipe management**: Link commands together for streamlined output processing. +- 🔹 **Signal handling**: Manage signals effectively within the shell environment. +- 🔹 **Process forking**: Create child processes to execute commands. +- 🔹 **Error handling**: Robust mechanisms to handle errors gracefully. + +## 🛠️ Installation & Setup + +To get started, follow these steps to set up and run the project: + +1. **Clone the repository**: + ```bash + git clone https://github.com/your-username/minishell.git + cd minishell + make + ``` + +2. **Run the shell**: + ```bash + ./minishell + ``` + +## 🔍 Technologies Used + +- C 💻: Primary language used to implement the shell. +- System Calls 📞: Leveraging UNIX system calls for process management and execution. +- Pipes 🚰: Implementing inter-process communication through pipes. +- Signals ⚡: Handling OS signals for effective process management. + +## 🎯 Goals of the Project +- Create a functional UNIX shell that mimics common shell behaviors. +- Understand key operating system concepts such as process management and system calls. +- Enhance programming skills in C through practical application. + +Thank you for checking out minishell! 🌟 Happy coding! 💻